
En esta guía, demostraremos varias formas de utilizar el comando «vmstat» en Linux.
requisitos previos:
Para realizar los pasos demostrados en esta guía, necesita los siguientes componentes:
Memoria virtual en Linux
La cantidad de memoria física (también llamada RAM) es limitada. El kernel es responsable de asignar 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 bloqueará el sistema (o el programa solicitará más espacio de memoria). En la mayoría de los casos, este es un resultado indeseable. Aquí es donde entra en juego la memoria virtual.
La memoria virtual se refiere al espacio en disco dedicado en HDD/SSD que puede actuar como memoria adicional en situaciones de emergencia. Debido a que actúa como espacio RAM (pero no es real), se considera «virtual». En los sistemas UNIX/Linux, estos espacios se denominan espacios de intercambio.
El kernel de Linux mueve bloques de memoria para intercambiar espacio 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, bajo ciertas configuraciones de hardware (como el uso de un SSD NVMe), el rendimiento puede ser comparable al de la RAM.
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 del comando vmstat es la siguiente:
$ Estado de la máquina virtual Opciones> Demora> contando>
Uso básico
Si se ejecuta sin ningún parámetro, «vmstat» imprimirá información del sistema desde el último inicio:
El resultado se divide en seis segmentos:
- viaje: Estadísticas de los procesos actualmente en ejecución
- r:Número de procesos activos
- Segundo:Número de procesos en hibernación
- memoria: Estadísticas de uso de memoria
- SWPD:Cantidad total de memoria virtual (espacio de intercambio)
- gratis:Espacio de intercambio disponible
- amarillo claro: La cantidad de espacio de intercambio utilizado como memoria temporal
- cache:Memoria caché total
- intercambio: Intercambiar información estadística del espacio
- Sri Lanka:Tasa de intercambio
- entonces: Tasa de intercambio
- yo:Estadísticas de E/S
- par:El número de bloques recibidos del dispositivo de bloqueo
- Bo:El número de bloques transferidos al dispositivo de bloques
- sistema: Estadísticas de programación
- existir: Recuento de interrupciones del sistema
- CS: tasa de cambio de contexto
- UPC: Varias estadísticas de CPU
- a nosotros: El tiempo que la CPU dedica a procesos no centrales.
- Oeste: El tiempo que la CPU dedica al recorrido del núcleo.
- IDENTIFICACIÓN: tiempo de inactividad de la CPU
- Washington:La CPU pasa tiempo esperando que se completen los trabajos de E/S
- yingshi:Tiempo de CPU utilizado por la máquina virtual.
Cambiar unidades de visualización
De forma predeterminada, «vmstat» informa los valores de memoria en kilobytes. Para cambiar unidades, utilice «-S«Bandera:
Aquí, «vmstat» imprime el valor en megabytes.
Hay varias unidades de memoria disponibles:
- talla mediana:1048576 bytes (2^20 bytes)
- arroz:1000000 bytes (1000 kilobytes)
- k: 1024 bytes (1 megabyte)
- k: 1000 bytes (1 KB)
Las estadísticas se actualizan continuamente.
De forma predeterminada, «vmstat» imprime el informe una vez. Sin embargo, podemos indicarle a «vmstat» que proporcione informes continuos en intervalos específicos (en segundos).
La estructura de mando es la siguiente:
Por ejemplo, para obtener estadísticas actualizadas cada 2 segundos, el comando es el siguiente:
La salida no se detendrá a menos que se finalice manualmente usando «Ctrl + C».
Alternativamente, podemos especificar «vmstat» para proporcionar estadísticas para un número específico de veces:
Por ejemplo, para obtener estadísticas actualizadas 5 veces cada 2 segundos, el comando es el siguiente:
Memoria activa e inactiva
La memoria activa se refiere al espacio de memoria que utiliza actualmente el proceso. La memoria inactiva, por otro lado, se refiere al espacio de memoria asignado a programas que ya no se están ejecutando.
Usando «vmstat» podemos verificar la cantidad de memoria activa e inactiva que se está utilizando:
Aquí, las columnas «buff» y «caché» se reemplazan por las 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:
aquí:
- Parte 1: esta parte trata sobre la información básica del sistema, como la memoria física total, la memoria activa/inactiva, libre/búfer/caché, etc.
- Parte 2: varias estadísticas de CPU
- Sonido de tictac anormal de la CPU: el número de veces que el proceso de alta prioridad utiliza la CPU.
- Buenos tics de CPU: el número de veces que el proceso de baja prioridad utiliza la CPU.
- La CPU del sistema funciona: La cantidad de veces que el proceso central usa la CPU.
- Tics de CPU inactiva: El número de veces que la CPU está inactiva.
- IO espera número de tics de CPU: El número de veces que la CPU espera la gestión de E/S.
- solicitud de interrupción: La cantidad de veces que la CPU recibe solicitudes de interrupción.
- softirq: La cantidad de veces que la CPU recibe solicitudes de interrupción de software.
- Latidos de CPU robados: La cantidad de veces que una máquina virtual robó tiempo de CPU.
- Parte 3: estadísticas de paginación de memoria
- Parte 4: Contadores de eventos
Bifurcado desde el lanzamiento
Una bifurcación es un proceso generado a partir de un proceso existente. Para obtener estadísticas sobre el recuento de bifurcaciones, ejecute el siguiente comando:
Estadísticas de disco y división
El comando «vmstat» también proporciona información sobre la actividad del disco. Para obtener un resumen rápido de la actividad del disco, ejecute el siguiente comando:
Para obtener un informe más detallado de la actividad del disco, incluidas estadísticas de lectura/escritura, utilice el siguiente comando:
aquí:
- leer
- todo: Número total de lecturas de disco
- unir:Número total de lecturas grupales
- departamento:Número total de sectores leídos
- esclerosis múltiple: Tiempo total para leer datos del disco (en milisegundos)
- Escribir
- todo:Número total de escrituras en disco
- unir:Número total de escrituras grupales
- departamento:Número total de sectores escritos
- esclerosis múltiple: Tiempo total para escribir en el disco (en milisegundos)
- OI
- Actualmente: Recuento total actual de lectura/escritura del disco
- Segundo: El tiempo (en segundos) que tomó la operación de lectura/escritura en curso.
El comando «vmstat» también puede generar informes sobre particiones de disco específicas. Para obtener un informe de partición, utilice la siguiente estructura de comando:
$ Estado de la máquina virtual -pag identificador de partición>
estadísticas de losa
La asignación de placas está diseñada para ser un mecanismo eficiente para la asignación de memoria de objetos. La asignación de losas reduce la fragmentación de la memoria (causada por la asignación y desasignación de memoria) en comparación con los mecanismos anteriores.
Para verificar las estadísticas de losa del sistema, use el siguiente comando «vmstat»:
Tenga en cuenta que requiere acceso de root para ver estadísticas.
aquí:
- cache: El nombre de los datos almacenados en caché.
- cantidad: Num El número de objetos activos en la caché
- todo: El número total de objetos en un caché específico.
- tamaño: El tamaño del objeto almacenado en caché.
- Número de páginas: Recuento de páginas de memoria que contienen objetos de caché
en conclusión
En esta guía, hemos mostrado varias formas de utilizar el comando «vmstat». Además de la memoria virtual, «vmstat» también puede informar estadísticas de disco, bifurcaciones, losas, etc.
¿Está interesado en conocer otras herramientas de monitoreo del sistema? Obtenga más información sobre htop, kill, ps y más.
¡Feliz informática!