Comando Vmstat de Linux

Comando Vmstat De Linux



En esta guía, demostraremos las diversas formas de utilizar el comando 'vmstat' en Linux.

Requisitos previos:

Para realizar los pasos que se demuestran en esta guía, necesita los siguientes componentes:

  • Un sistema Linux correctamente configurado. Para fines de prueba, considere usar una máquina virtual Linux .
  • Acceso a un usuario no root con privilegios sudo
  • Comprensión básica de la interfaz de línea de comandos.

Memoria virtual en Linux

La memoria física, también denominada RAM, tiene una cantidad finita. El kernel es responsable de distribuir este espacio a todos los programas en ejecución. Todos los programas en ejecución (incluido el sistema operativo) residen en la RAM.







Sin embargo, si la demanda de memoria es mayor que la memoria disponible, simplemente colapsa el sistema (o el programa solicitará más espacio de memoria). En la mayoría de las situaciones, ese es un resultado no deseado. Aquí es donde entra en juego la memoria virtual.



La memoria virtual se refiere a un espacio en disco dedicado en su HDD/SSD que puede actuar como memoria adicional en situaciones extremas. Debido a que actúa como espacio RAM (pero no realmente), se considera 'virtual'. En los sistemas UNIX/Linux, estos espacios se denominan espacios de intercambio.



El kernel de Linux mueve los bloques de memoria al espacio de intercambio y los recupera a la RAM según sea necesario.





El rendimiento de la memoria virtual es definitivamente más lento que el de la memoria física y es directamente proporcional al rendimiento del dispositivo de almacenamiento. Sin embargo, en configuraciones de hardware específicas (usando NVMe SSD, por ejemplo), el rendimiento puede ser equivalente al de la RAM.

El comando Vmstat

El comando 'vmstat' es una herramienta de monitoreo que informa diversa información sobre la memoria virtual. Está disponible en todos los sistemas Linux como parte del paquete 'sysstat'.



La estructura de comando de 'vmstat' es la siguiente:

$ vmstat < opciones > < demora > < contar >

Uso básico

Si se ejecuta sin ningún parámetro, “vmstat” imprime la información del sistema desde el último arranque:

$ vmstat

La salida se organiza en seis segmentos:

  • proceso : Estadísticas de procesos que se están ejecutando actualmente.
    • r : Número de procesos activos
    • b : Número de procesos dormidos
  • memoria : Estadísticas sobre el uso de memoria
    • swpd : Cantidad total de memoria virtual (espacio de intercambio)
    • gratis : Espacio de intercambio disponible
    • fuerte : La cantidad de espacio de intercambio que se utiliza como memoria intermedia temporal
    • cache : memoria caché total
  • intercambio : Estadísticas sobre el espacio de intercambio
    • si : Tasa de permuta en
    • entonces : Tasa de intercambio
  • este : estadísticas de E/S
    • con un : Número de bloques recibidos desde los dispositivos de bloqueo
    • ser : Número de bloques enviados a dispositivos de bloqueo
  • sistema : Estadísticas sobre programación
    • en : Recuento de interrupciones del sistema
    • cs : Tasa de cambios de contexto
  • UPC : Varias estadísticas de CPU
    • a nosotros : La CPU dedica tiempo a procesos que no son del kernel
    • y : La CPU dedica tiempo a los procesos del kernel.
    • identificación : La CPU pasa tiempo inactiva
    • de : La CPU pasa tiempo esperando que se completen las operaciones de E/S
    • calle : tiempo de CPU utilizado por una máquina virtual

Cambiar la unidad de visualización

De forma predeterminada, 'vmstat' informa los valores de memoria en kilobytes. Para cambiar la unidad, utilice el botón ' -S ' bandera:

$ vmstat -S < argumento >

Aquí, 'vmstat' imprime los valores en megabytes.

Hay varias unidades de memoria disponibles:

  • METRO : 1048576 bytes (2^20 bytes)
  • metro : 1000000 bytes (1000 kilobytes)
  • k : 1024 bytes (1 megabyte)
  • k : 1000 bytes (1 kilobyte)

Actualización continua de estadísticas

De forma predeterminada, 'vmstat' imprime el informe una vez. Sin embargo, podemos indicarle a 'vmstat' que proporcione informes continuos en un intervalo de tiempo específico (en segundos).

La estructura de mando es la siguiente:

$ vmstat < demora >

Por ejemplo, para obtener las estadísticas actualizadas cada 2 segundos, el comando es el siguiente:

$ vmstat 2

La salida no se detendrá a menos que se finalice manualmente usando 'Ctrl + C'.

Alternativamente, podemos especificar 'vmstat' para proporcionar las estadísticas de un número específico de veces:

$ vmstat < demora > < contar >

Por ejemplo, para obtener las estadísticas actualizadas cada 2 segundos 5 veces, el comando tiene este aspecto:

$ vmstat 2 5

Memoria activa e inactiva

La memoria activa se refiere al espacio de memoria que está utilizando actualmente un proceso. Por otro lado, la memoria inactiva se refiere al espacio de memoria que se asignó a un proceso que ya no se está ejecutando.

Usando “vmstat” podemos comprobar la cantidad de memorias activas e inactivas que se están utilizando:

$ vmstat -a

Aquí, las columnas 'buff' y 'caché' se reemplazan por columnas 'inact' y 'active', respectivamente.

Memoria y programación

Para obtener un informe más detallado sobre la memoria y la programación, utilice el siguiente comando:

$ vmstat -s

Aquí:

  • Sección 1: Esta sección trata sobre la información básica del sistema, como la memoria física total, la memoria activa/inactiva, la memoria libre/búfer/caché, etc.
  • Sección 2: varias estadísticas de CPU
    • Tics de CPU no agradables : cuántas veces los procesos de alta prioridad utilizaron la CPU.
    • Buenos tics de CPU : El número de veces que los procesos de menor prioridad utilizaron la CPU.
    • La CPU del sistema funciona : La cantidad de veces que los procesos del kernel usaron la CPU.
    • Tics de CPU inactiva : El número de veces que la CPU estuvo inactiva.
    • tics de CPU de espera de E/S : El número de veces que la CPU espera la gestión de E/S.
    • IRQ : La cantidad de veces que la CPU recibió las solicitudes de interrupción.
    • softirq : La cantidad de veces que la CPU recibió las solicitudes de interrupción del software.
    • ticks de CPU robados : la cantidad de veces que las máquinas virtuales robaron tiempo de CPU.
  • Sección 3: Estadísticas de paginación de memoria
  • Sección 4: Contadores de eventos

Horquillas desde el arranque

Las bifurcaciones se refieren a procesos que fueron generados por procesos existentes. Para obtener las estadísticas sobre los recuentos de bifurcaciones, ejecute el siguiente comando:

$ vmstat -F

Estadísticas de discos y particiones

El comando 'vmstat' también puede proporcionar información sobre la actividad del disco. Para obtener un resumen rápido de la actividad del disco, ejecute el siguiente comando:

$ vmstat -D

Para obtener un informe de actividad del disco más detallado (incluidas estadísticas de lectura/escritura), utilice el siguiente comando:

$ vmstat -d

Aquí:

  • Lee
    • total : Recuento total de lecturas de disco
    • fusionado : Recuento total de lecturas del grupo
    • sectores : Número total de sectores leídos
    • EM : Cantidad total de tiempo para leer los datos del disco (en milisegundos)
  • escribe
    • total : Recuento total de escritura en disco
    • fusionado : Recuento total de escrituras del grupo
    • sectores : Número total de sectores escritos
    • EM : Cantidad total de tiempo para escribir en el disco (en milisegundos)
  • OI
    • poner : lecturas/escrituras totales del disco actual
    • segundo : Cantidad de tiempo dedicado a la operación de lectura/escritura en curso (en segundos)

El comando 'vmstat' también puede generar informes para una partición de disco específica. Para obtener el informe de partición, utilice la siguiente estructura de comando:

$ vmstat -pag < identificador_partición >

Estadísticas de losas

La asignación de losa está diseñada para ser un mecanismo eficiente para la asignación de memoria de los objetos. En comparación con los mecanismos anteriores, la asignación de bloques ofrece una reducción de la fragmentación de la memoria (causada por la asignación y desasignación de memoria).

Para verificar las estadísticas de losa del sistema, use el siguiente comando 'vmstat':

$ sudo vmstat -metro

Tenga en cuenta que se requiere un permiso de root para ver las estadísticas.

Aquí:

  • Cache : Nombre de los datos almacenados en caché
  • en uno : Número de objetos que están activos en la caché numérica.
  • Total : Recuento total de objetos en un caché particular
  • Tamaño : Tamaño de los objetos almacenados en caché
  • paginas : Recuento de páginas de memoria que contienen los objetos almacenados en caché

Conclusión

En esta guía, mostramos las diversas formas de utilizar el comando 'vmstat'. Además de la memoria virtual, 'vmstat' también puede informar sobre estadísticas de disco, bifurcaciones, losas y más.

¿Está interesado en conocer otras herramientas de monitoreo del sistema? Aprender más acerca de arriba , matar , PD , etc.

¡Feliz informática!