VMStat monitoreo de memoria y procesos en Linux con ejemplos

VMStat monitoreo de memoria y procesos en Linux con ejemplos

En el mundo de la administración del sistema Linux, el monitoreo y la comprensión del rendimiento de su sistema es crucial para garantizar su operación suave. Una de esas herramientas de monitoreo esencial es 'vmstat' - Una utilidad versátil de línea de comandos que proporciona estadísticas perspicaces sobre la memoria, los procesos, los procesos, IO y el uso de CPU de un sistema Linux.

En este artículo, profundizaremos en el uso y varias opciones del comando VMSTAT, exploraremos ejemplos prácticos y aprenderemos cómo interpretar el resultado para diagnosticar posibles problemas de rendimiento.

Que es vmstat?

La estadística de memoria virtual (VMSTAT) es una utilidad UNIX/Linux que recopila y muestra información sobre las operaciones de memoria, CPU, procesos y IO del sistema. Es una herramienta poderosa y fácil de usar para comprender cómo su sistema está utilizando sus recursos, identificando cuellos de botella y diagnosticando problemas de rendimiento.

Instalación

VMStat viene preinstalado en la mayoría de las distribuciones de Linux. Sin embargo, si aún no está instalado, puede obtenerlo fácilmente instalando el paquete 'sysstat':

  • Para los sistemas basados ​​en Debian/Ubuntu:
    sudo apt-get install sysstat  
  • Para sistemas basados ​​en Rhel/Centos/Fedora:
    sudo yum instalación sysstat  

Uso básico

La sintaxis básica del comando vmstat es la siguiente:

vmstat [opciones] [demora] [cuenta]
1vmstat [opciones] [demora] [cuenta]
  • Opciones: Banderas que modifican el comportamiento del comando o especifican el tipo de información para mostrar.
  • demora: El intervalo de tiempo (en segundos) entre actualizaciones. El valor predeterminado es 1 segundo.
  • contar: El número de actualizaciones para mostrar antes de salir. Por defecto, VMStat continuará ejecutándose indefinidamente.

Para mostrar estadísticas básicas del sistema, simplemente ejecute el comando sin ninguna opción:

vmstat  

Comprender la salida de VMStat

La salida del comando VMSTAT se muestra en formato tabular, con cada fila que representa una instantánea del estado del sistema en un momento específico.

Las columnas en la salida son:

  1. Procedencia
    • riñonal: El número de procesos ejecutables (ejecutando o esperando el tiempo de ejecución).
    • b: El número de procesos en un estado de sueño ininterrumpido.
  2. Memoria
    • SWPD: La cantidad de memoria virtual utilizada (en KB).
    • gratis: La cantidad de memoria inactiva (en KB).
    • fuerte: La cantidad de memoria utilizada como búferes (en KB).
    • cache: La cantidad de memoria utilizada como caché (en KB).
  3. Intercambio
    • si: La cantidad de memoria cambiada desde el disco (en KB/S).
    • entonces: La cantidad de memoria cambiada al disco (en KB/S).
  4. IO
    • bi: El número de bloques recibidos de un dispositivo de bloque (bloques/s).
    • bo: El número de bloques enviados a un dispositivo de bloque (bloques/s).
  5. Sistema
    • en: El número de interrupciones por segundo, incluido el reloj.
    • CS: El número de interruptores de contexto por segundo.
  6. UPC
    • a nosotros: El porcentaje de tiempo dedicado a ejecutar código sin kernel (tiempo de usuario).
    • sistema: El porcentaje de tiempo dedicado a ejecutar el código del núcleo (tiempo del sistema).
    • identificación: El porcentaje de tiempo pasado inactivo.
    • Washington: El porcentaje de tiempo dedicado a esperar IO.

Ejemplos prácticos

  • Mostrar actualizaciones continuas cada 2 segundos:
    vmstat 2  
  • Monitorear las estadísticas del sistema cada 2 segundos para un total de 5 actualizaciones:
    vmstat 2 5  
  • Mostrar solo información relacionada con la CPU:
    vmstat -c  
  • Muestra memoria activa e inactiva:
    vmstat -a  

    Este comando informa la memoria activa e inactiva en el sistema, proporcionando más información sobre los patrones de uso de la memoria.

  • Mostrar marcas de tiempo:
    vmstat -t  

    Este comando agrega una marca de tiempo a cada línea de salida, lo que facilita el seguimiento de los cambios con el tiempo.

  • Mostrar solo campos específicos:
    vmstat -s 

    Este comando muestra un informe más detallado de campo por campo en el uso de memoria virtual del sistema.

  • Mostrar estadísticas de disco:
    vmstat -d 

    Este comando muestra estadísticas de actividad de disco, como lecturas, escrituras y operaciones de E/S.

  • Mostrar salida en una unidad específica:
    VMSTAT -S UNIDAD 

    Reemplace la 'unidad' con la unidad de medición deseada (k: kilobytes, k: 1000 bytes, m: megabytes, m: 1000000 bytes). Por ejemplo, VMSTAT -S M mostrará la salida en Megabytes.

Interpretación de la salida de VMStat

Al analizar la salida de VMSTAT, puede identificar posibles cuellos de botella del sistema y problemas de rendimiento. Aquí hay algunas pautas para ayudarlo a interpretar los resultados:

  • Procesos de alta ejecución (columna Procs 'R'): Si el número de procesos ejecutables es consistentemente alto, puede indicar que su sistema está experimentando una alta carga de CPU, y es posible que deba optimizar sus aplicaciones o actualizar su CPU.
  • Procesos de sueño ininterrumpidos altos (columna Procs 'B'): una gran cantidad de procesos en un sueño ininterrumpido pueden indicar que su sistema está experimentando cuellos de botella IO, que pueden ser causados ​​por un acceso de disco lento o una memoria insuficiente.
  • Uso de la memoria (columnas de memoria: SWPD, gratis, buff, caché): Monitoree el uso de la memoria para asegurarse de que su sistema tenga suficiente memoria libre. Si el 'SWPD' El valor es consistentemente alto, puede indicar que su sistema está usando demasiado espacio de intercambio, lo que puede degradar significativamente el rendimiento. Considere optimizar sus aplicaciones o agregar más memoria física.
  • Actividad de intercambio (columnas de intercambio: SI, entonces): El intercambio frecuente puede conducir a un bajo rendimiento. Si los valores 'Si' y 'SO' son consistentemente altos, puede indicar que su sistema está usando demasiado espacio de intercambio. Es posible que deba optimizar sus aplicaciones o agregar más memoria física.
  • Actividad IO (columnas IO: BI, BO): La alta actividad de IO puede causar cuellos de botella de rendimiento. Si el 'bi' y 'Bo' Los valores son consistentemente altos, puede indicar que su sistema está experimentando una gran actividad de disco. Considere optimizar sus aplicaciones, actualizar su sistema de almacenamiento o distribuir la carga en múltiples discos.
  • Uso de la CPU (columnas de CPU: US, SY, ID, WA): Monitorear el uso de la CPU para asegurarse de que su sistema no esté sobrecargado. Alto 'a nosotros' y 'Sy' Los valores indican que la CPU está pasando una cantidad significativa de tiempo ejecutando procesos de usuario y sistema. Si estos valores son consistentemente altos, considere optimizar sus aplicaciones o actualizar su CPU. Los valores altos de 'WA' indican que la CPU está pasando mucho tiempo esperando IO, que puede ser un signo de cuellos de botella IO.

Conclusión

VMStat es una herramienta de monitoreo potente y versátil para los sistemas Linux, que proporciona información valiosa sobre la memoria, los procesos, la IO y el uso de la CPU. Al comprender la salida de VMStat y usarlo para diagnosticar problemas potenciales de rendimiento, puede optimizar su sistema y asegurarse de que se ejecute sin problemas y eficientemente.