Nota:
- Este tutorial está disponible en un entorno de prácticas gratuitas proporcionado por Oracle.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, sustituya estos valores por valores específicos de su entorno en la nube.
Supervise los recursos del sistema en Oracle Linux
Introducción
En este tutorial, trabajará con Oracle Linux vmstat, mpstat y top para supervisar el uso de los recursos del sistema. La supervisión del uso de los recursos del sistema es útil para detectar problemas que pueden afectar negativamente al rendimiento del sistema.
Antecedentes
Oracle Linux proporciona herramientas para supervisar y analizar el uso de los recursos del sistema, así como herramientas de rastreo para diagnosticar problemas de rendimiento en varios procesos y threads relacionados.
Objetivos
- Explore el comando
vmstat. - Explore el comando
mpstat. - Explore el comando
top. - Utilice
vmstatympstat, ytop - Examine la salida del comando de
vmstat,mpstatytop
¿Qué se necesita?
Un sistema cliente con Oracle Linux 8 o posterior instalado.
Nota: al utilizar el entorno de prácticas gratuitas, consulte Aspectos básicos del laboratorio de Oracle Linux para conocer la conexión y otras instrucciones de uso.
Exploración y uso de las opciones del comando vmstat
vmstat muestra cuánta memoria virtual hay y cuánto queda libre. El comando también muestra la actividad de paginación. Puede observar las entradas de página y las salidas de página a medida que se producen en el sistema.
Puede considerar la posibilidad de maximizar el área de visualización mediante los controles Ocultar pasos y "Pantalla completa" ubicados en la barra de tareas, como se muestra en las imágenes.

Vea el siguiente vídeo para obtener una visión general de vmstat.
-
Ejecute el comando
vmstatsin ninguna opción.vmstatEl comando genera un único informe. La salida se divide en seis secciones:
procs,memory,swap,io,systemycpu.-
Las dos primeras columnas proporcionan información sobre los procesos:
-
res el número de procesos que están en estado de espera. Se trata de procesos inactivos y en espera de ejecución. -
bes el número de procesos que estaban en modo de espera y se interrumpieron desde la última actualización.
-
-
Las cuatro columnas siguientes proporcionan información sobre la memoria:
-
swpdes la cantidad de memoria virtual utilizada. -
freees la cantidad de memoria inactiva. -
buffes la cantidad de memoria utilizada como buffers. -
cachees la cantidad de memoria utilizada como caché.
-
-
Las dos columnas siguientes proporcionan información sobre el intercambio:
-
sies la cantidad de memoria intercambiada desde el disco (por segundo). -
soes la cantidad de memoria intercambiada en el disco (por segundo).Los números
siysodistintos de cero indican que no hay suficiente memoria física, lo que hace que el núcleo intercambie memoria en el disco.
-
-
Las dos columnas siguientes informan de entrada/salida:
-
bies el número de bloques por segundo recibidos de un dispositivo de bloques. -
boes el número de bloques por segundo enviados a un dispositivo de bloques.
-
-
Las dos columnas siguientes proporcionan la siguiente información del sistema:
-
ines el número de interrupciones por segundo, incluido el reloj. -
cses el número de cambios de contexto por segundo.
-
-
Las últimas cinco columnas proporcionan los porcentajes del tiempo total de CPU:
-
uses el porcentaje de ciclos de CPU utilizados en los procesos de usuario. -
syes el porcentaje de ciclos de CPU utilizados en los procesos del sistema (núcleo). -
ides el porcentaje de ciclos de CPU pasados inactivos. -
waes el porcentaje de ciclos de CPU utilizados en espera de E/S. -
stes el porcentaje de ciclos de CPU robados desde una máquina virtual.
-
-
-
Ejecute el comando
vmstat 1(numérico y no la letra minúsculal) para ver un informe continuo por segundo.vmstat 1- Para terminar, pulse Ctrl+C.
-
Ejecute el comando
vmstat 7 4para ejecutar cuatro informes separados por siete segundos.vmstat 7 4La opción de recuento indica a
vmstatel número de informes que se van a ejecutar (4) y la opción de retraso (7) es el intervalo de tiempo entre cada informe. -
Ejecute el comando
vmstat -spara mostrar una tabla de varios contadores de eventos y estadísticas de memoria.vmstat -s -
Ejecute el comando
vmstat -apara mostrar la memoria activa e inactiva.vmstat -aLa opción
-amuestra la cantidad de memoriaactivee inactiva (inact) en la secciónmemoryde la salida. -
Ejecute el comando
vmstat -fpara mostrar el número de bifurcaciones desde el último inicio.vmstat -f -
Ejecute el comando
vmstat -tpara agregar un registro de hora a la salida.vmstat -t -
Ejecute el comando
vmstat -dpara mostrar las estadísticas de uso de disco en el sistema.vmstat -d -
Ejecute el comando
vmstat -p sda1para crear un informe en una partición de disco específica.vmstat -p sda1La salida muestra un resumen de la partición, incluido el número o lecturas y escrituras.
Exploración y uso de las opciones del comando mpstat
El comando mpstat se utiliza para recopilar y mostrar estadísticas de rendimiento para todas las CPU lógicas del sistema. Cuando una CPU está ocupada por un proceso, no está disponible para procesar otras solicitudes. Estos otros procesos deben esperar hasta que la CPU esté libre.
Vea el siguiente vídeo para obtener una visión general de mpstat.
-
Ejecute el comando
mpstatsin ninguna opción.mpstatLa primera línea muestra la versión del núcleo de Linux, el nombre de host, la fecha actual, la arquitectura y el número de CPU del sistema.
La primera columna de la siguiente línea proporciona un registro de hora, con las columnas restantes definidas de la siguiente manera:
-
CPUes el procesador designado por el número que comienza en0o la palabra claveallque indica que las estadísticas se calculan como medias entre todos los procesadores. -
%useres el porcentaje de CPU utilizado al ejecutar aplicaciones en el nivel de usuario. -
%nicees el porcentaje de CPU utilizado al ejecutarlo en el nivel de usuario con una buena prioridad. -
%syses el porcentaje de CPU utilizado durante la ejecución en el nivel del sistema (núcleo).El comando
mpstatno incluye el tiempo dedicado al mantenimiento de interrupciones de hardware y software. -
%iowaites el porcentaje de tiempo que las CPU estaban inactivas mientras el sistema tenía una solicitud de E/S de disco pendiente. -
%irqes el porcentaje de tiempo que dedican las CPU al servicio de interrupciones de hardware. -
%softes el porcentaje de tiempo empleado por las CPU para reparar interrupciones de software. -
%steales el porcentaje de tiempo dedicado a la espera involuntaria de la CPU o las CPU virtuales mientras el hipervisor prestaba servicio a otro procesador virtual. -
%guestes el porcentaje de tiempo empleado por las CPU para ejecutar un procesador virtual. -
%gnicees el porcentaje de tiempo dedicado por las CPU para ejecutar un invitado con un precio. -
%idlees el porcentaje de tiempo que la CPU estuvo inactiva (o las CPU estaban) y el sistema no tenía una solicitud de E/S de disco pendiente.
-
-
Ejecute el comando
mpstat 2 5para ver la actividad de la CPU cada dos segundos para un total de cinco informes en todas las CPU.mpstat 2 5La salida imprime una línea de información un total de cinco veces, y también imprime un promedio.
-
Ejecute el comando
mpstat -P ALLpara informar el uso de CPU en cada CPU.mpstat -P ALLEsta salida imprime una única línea de actividad para todas las CPU y para cada CPU. Nota:
mpstattambién imprime el uso medio de CPU para el período especificado. -
Ejecute el comando
mpstat -P ALL 2 5para ver la actividad de la CPU cada dos segundos en las CPU.mpstat -P ALL 2 5Esta salida imprime estadísticas de uso de CPU para cada CPU 5 veces a un intervalo de 2 segundos. Nota: que
mpstattambién imprime el uso medio de CPU para el período especificado. -
Ejecute el comando
mpstat -Apara imprimir el uso de la CPU e interrumpir las estadísticas en la misma salida de comando.mpstat -A
Explorar el comando top
El comando top proporciona una visión continua de la actividad del procesador en tiempo real. top muestra una lista de los procesos o tareas más intensivos de CPU del sistema y proporciona una interfaz interactiva limitada para manipular procesos.
Vea el siguiente vídeo para obtener una visión general de top.
-
Ejecute el comando
topsin ninguna opción para una vista puntual de la actividad de la CPU.topLa salida se refresca cada tres segundos por defecto y se divide en dos secciones principales.
La sección superior muestra información general, como las medias de carga durante los últimos 1, 5 y 15 minutos, el número de tareas en ejecución y en suspensión, y el uso general de CPU y memoria.
-
Utilice lo siguiente para activar o desactivar la salida que se muestra en la sección superior:
-
Introduzca la letra en minúscula
l(No numérico1) para alternar entre la media de carga y el tiempo de actividad de desactivación y activación. -
Introduzca
mpara activar y desactivar la memoria y el uso de intercambio. -
Introduzca
tpara activar y desactivar la memoria y el uso de intercambio.
-
La sección inferior muestra una lista ordenada de procesos, normalmente por uso de CPU, junto con sus números de ID de proceso (PID) y el usuario propietario del proceso. Además, las salidas muestran el tiempo de ejecución y la memoria que utilizan los procesos.
A continuación, se describen las columnas de la sección inferior:
-
PIDes el ID de proceso único de la tarea. -
USERes el nombre de usuario efectivo del propietario de la tarea. -
PRes la prioridad real de la tarea. -
NIes el valor agradable de la tarea en el espacio de usuario.Un valor negativo significa una prioridad más alta; y un valor positivo significa una prioridad más baja. El valor cero significa que la prioridad de una tarea no se aplica cuando se ejecuta.
-
VIRTes la cantidad total de memoria virtual que utiliza la tarea.Este valor incluye todo el código, los datos y las bibliotecas compartidas, además de las páginas que se han intercambiado.
-
RESes la memoria física no intercambiada o el tamaño residente que está utilizando una tarea. -
SHRes la cantidad de memoria compartida que está utilizando la tarea.Esta memoria podría compartirse con otros procesos.
-
Ses el estado de la tarea. Hay cinco estados:-
DSueño ininterrumpido -
Ren ejecución -
SDormir -
TRastreo o parado -
ZZombie
-
-
%CPUes el recurso compartido de la tarea del tiempo de CPU transcurrido o el uso de CPU desde la última actualización de pantalla, expresado como porcentaje del tiempo total de CPU. -
%MEMes el recurso compartido utilizado actualmente de la tarea de memoria física o uso de memoria disponible. -
TIME+es el tiempo total de CPU que ha utilizado la tarea desde que se inició. -
COMMANDes la línea de comandos o el nombre de programa utilizado para iniciar una tarea.
-
-
Salga de
topintroduciendo Crtl+C.
Compare la salida del comando de vmstat, mpstat y top
Para esta práctica, ejecutará varias pruebas stress para emular distintas cargas en el sistema de prácticas y, a continuación, utilizará los comandos vmstat, mpstat y top para determinar lo que informan para los diferentes tipos de carga.
Aunque ejecute las pruebas como procesos en segundo plano, considere la posibilidad de abrir ventanas de terminal adicionales para sus comparaciones.
Cada ventana adicional necesita conectarse a la instancia de prácticas mediante ssh en oracle@<IP_ADDRESS_OF_COMPUTE_INSTANCE>. Donde <IP_ADDRESS_OF_COMPUTE_INSTANCE> es la dirección IP copiada de la consola de Oracle Cloud.
- Después de iniciar sesión, utilice el comando
sudo -ipara cambiar al usuario raíz.
-
Instale la herramienta
stress.-
Utilice el comando
dnf repolistpara verificar el estado del repositoriool8_developer_EPEL.dnf repolist ol8_developer_EPEL-
Si el estado es
enabled, continúe con la instalación de los paquetes de herramientasstress; de lo contrario, siga "activando" el repositorio. -
Active el repositorio si el estado es
disabledmediante el comandodnf conifg-manager.dnf config-manager --enable ol8_developer_EPEL
-
-
-
Ejecute el comando
dnf installpara instalar los paquetes de herramientasstress.dnf install stress -y -
Ejecute el comando
stress --dry-runpara ver un ejemplo de la sintaxis del comando. Tómese un momento y revise las opciones del ejemplo, junto con las otras opciones de comandos que se muestran.stress --dry-run -
Ejecute los comandos
vmstat 4 4ympstat 4 4para ver una línea base de la actividad del sistema. Específicamente, observe los porcentajes de CPU asignados a los procesos de usuario y sistema (núcleo). Esta columna debe estar cerca de cero0. Observe también la cantidad de memoria libre.vmstat 4 4 mpstat 4 4 -
Ejecute el comando
stress --cpupara emular un programa enlazado a cálculo y ejecute el comando en segundo plano. Este comando genera ocho procesos enlazados a recursos informáticos.stress --cpu 8 &-
Pulse return (Volver) para volver al indicador.
-
Ejecute el comando
ps -efpara ver los procesosstressen ejecución. Pase la salida agrep stress.ps -ef | grep stress
-
-
Ejecute el comando
vmstat 4 10y observe los valores informados en las columnas asociadas al uso de CPU.vmstat 4 10En unos instantes, debería ver que los porcentajes de la columna
usreflejan la carga generada porstress. -
Ejecute el comando
mpstat 4 10para evaluar el uso de todas las CPU.mpstat 4 10 -
Ejecute el comando
mpstat -P ALL 4 10para evaluar el uso de cada CPU.mpstat -P ALL 4 10 -
Ejecute el comando
toppara examinar el uso de CPU por parte de los procesosstress.topTras unos minutos, observe que los procesos
stressse están ejecutando con la máxima prioridad. Salga detopintroduciendo Ctrl+C. -
Ejecute el comando
pkillpara terminar los procesosstress.pkill stress -
Vuelva a ejecutar los comandos
vmstat 4 4ympstat 4 4para ver una línea base de la actividad del sistema. -
Ejecute un nuevo comando
stressy agregue las opciones--vmy--vm-bytespara iniciar la actividad de memoria en el sistema.stress --cpu 8 --vm 8 --vm-bytes 512M & -
Ejecute
vmstat 4 10,mpstat -P ALL 4 10ytoppara evaluar la actividad de CPU y memoria.vmstat 4 10 mpstat -P ALL 4 10 top- Salga de
topintroduciendo Crtl+C.
- Salga de
-
Utilice el comando
pkillpara terminar los procesosstress.pkill stress -
Vuelva a ejecutar los comandos
vmstat 4 4ympstat 4 4para ver una línea base de la actividad del sistema. -
Ejecute un nuevo comando
stressy agregue la opción--iopara iniciar la actividad de entrada/salida en el sistema.stress --cpu 8 --vm 8 --vm-bytes 512M --io 8 & -
Ejecute
vmstat 4 10,mpstat -P ALL 4 10ytoppara evaluar la actividad de CPU, memoria, entrada/salida.vmstat 4 10 mpstat -P ALL 4 10 top-
Salga de
topintroduciendo Crtl+C. -
Utilice
pkillpara terminarstress.
-
Más recursos de aprendizaje
Explore otras prácticas en docs.oracle.com/learn o acceda a contenido de aprendizaje más gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de formación de Oracle.
Para obtener documentación sobre los productos, visite Oracle Help Center.
Monitor system resources on Oracle Linux
F49876-04
May 2022
Copyright © 2021, Oracle and/or its affiliates.