Su computadora Linux o macOS está usando memoria virtual. Descubra cómo está afectando el uso de su sistema de la memoria física, la CPU y los recursos del disco duro.
Su computadora está equipada con una cantidad finita de memoria física llamada memoria de acceso aleatorio (RAM). Esta RAM debe ser administrada por el kernel y compartida entre el sistema operativo y cualquier aplicación que se esté ejecutando. Si estas demandas combinadas exigen más memoria de la que está instalada físicamente en su computadora, ¿qué puede hacer el kernel?
Los sistemas operativos Linux y similares a Unix, como macOS, pueden usar espacio en su disco duro para ayudarlos a administrar las demandas de memoria. Un área reservada de espacio en el disco duro llamada «espacio de intercambio» se puede usar como si fuera una extensión de la RAM. Esta es la memoria virtual.
El kernel de Linux puede escribir el contenido de un bloque de memoria en el espacio de intercambio y liberar esa región de RAM para que la use otro proceso. La memoria intercambiada, también llamada «paginada», se puede recuperar del espacio de intercambio y restaurar a la RAM cuando sea necesario.
Por supuesto, la velocidad de acceso a la memoria paginada es más lenta que la de la memoria almacenada en la RAM. Y esa no es la única compensación. Si bien la memoria virtual proporciona una forma para que Linux administre sus demandas de memoria, el uso de memoria virtual aumenta las cargas en otras partes de la computadora.
Su disco duro debe realizar más lecturas y escrituras. El kernel, y por lo tanto, la CPU, debe trabajar más a medida que intercambia memoria, ingresa y mantiene todas las placas girando para satisfacer las necesidades de memoria de los diferentes procesos.
Linux proporciona una forma de monitorear toda esta actividad en la forma del vmstat
comando, que informa sobre las estadísticas de la memoria virtual .
Si escribe vmstat
como un comando sin parámetros, le mostrará un conjunto de valores. Estos valores son los promedios de cada una de las estadísticas desde que se reinició su computadora por última vez. Estas cifras no son una instantánea de los valores «ahora mismo».
vmstat
Se muestra una pequeña tabla de valores.
Hay columnas tituladas Procs, Memory, Swap, IO, System y CPU. La última columna (la columna más a la derecha) contiene los datos relacionados con la CPU.
Aquí hay una lista de los elementos de datos en cada columna.
Proc
Memoria
Intercambiar
IO
Sistema
UPC
Estos valores son todos porcentajes del tiempo total de CPU.
Podemos vmstat
proporcionar actualizaciones periódicas de estas cifras mediante el uso de un delay
valor. El delay
valor se proporciona en segundos. Para tener las estadísticas actualizadas cada cinco segundos, usaríamos el siguiente comando:
vmstat 5
Cada cinco segundos vmstat
agregará otra línea de datos a la tabla. Deberá presionar Ctrl + C para detener esto.
El uso de un delay
valor demasiado bajo ejercerá una presión adicional sobre su sistema. Si necesita realizar actualizaciones rápidas para intentar diagnosticar un problema, se recomienda que utilice un count
valor además de un delay
valor.
El count
valor indica vmstat
cuántas actualizaciones se deben realizar antes de salir y lo regresa al símbolo del sistema. Si no proporciona un count
valor, vmstat
se ejecutará hasta que Ctrl + C lo detenga.
Para vmstat
proporcionar una actualización cada cinco segundos, pero solo para cuatro actualizaciones, use el siguiente comando:
vmstat 5 4
Después de cuatro actualizaciones se vmstat
detiene por sí solo.
Puede elegir que la memoria y las estadísticas de intercambio se muestren en kilobytes o megabytes utilizando la -S
opción (carácter de unidad). Esto debe ser seguido por uno de k
, K
, m
, o M
. Estos representan:
Para que las estadísticas se actualicen cada 10 segundos con la memoria y las estadísticas de intercambio mostradas en megabytes, use el siguiente comando:
vmstat 10 -SM
Las estadísticas de memoria e intercambio ahora se muestran en megabytes. Tenga en cuenta que la -S
opción no afecta a las estadísticas del bloque IO. Estos siempre se muestran en bloques.
Si usa la -a
opción (activa), las columnas de memoria caché y de memoria caché se reemplazan por las columnas «inact» y «activa». Como sugerirían, estos muestran la cantidad de memoria inactiva y activa.
Para ver estas dos columnas en lugar de las columnas de mejora y caché, incluya la -a
opción, como se muestra:
vmstat 5 -a -SM
Las columnas inact y activa se ven afectadas por la opción -S (carácter de unidad).
El -f
conmutador muestra el número de bifurcaciones que se han producido desde que se inició la computadora.
En otras palabras, esto muestra la cantidad de tareas que se han iniciado (y, para la mayoría de ellas, cerradas nuevamente) desde que se inició el sistema. Cada proceso iniciado desde la línea de comando aumentaría esta cifra. Cada vez que una tarea o proceso genera o clona una nueva tarea, esta cifra aumentará.
vmstat -f
La pantalla de horquillas no se actualiza.
El kernel tiene su propia gestión de memoria de la que preocuparse, así como la gestión de memoria para el sistema operativo y todas las aplicaciones.
Como puede imaginar, el kernel asigna y desasigna memoria una y otra vez para los diferentes tipos de objetos de datos que debe manejar. Para que esto sea lo más eficiente posible, utiliza un sistema llamado losas. Esta es una forma de almacenamiento en caché.
La memoria asignada, utilizada y que ya no es necesaria para un tipo específico de objeto de datos del kernel se puede reutilizar para otro objeto de datos del mismo tipo sin que la memoria sea desasignada y reasignada. Piense en las losas como segmentos de RAM preasignados, hechos a medida, para las propias necesidades del kernel.
Para ver las estadísticas de las losas, use la -m
opción (losas). Necesitará usar sudo
y se le pedirá su contraseña. Como la salida puede ser bastante larga, la estamos canalizando less
.
sudo vmstat -m | Menos
La salida tiene cinco columnas. Estos son:
Presione q
para salir less
.
Para mostrar una página de contadores de eventos y estadísticas de memoria, use la -s
opción (estadísticas). Tenga en cuenta que es una «s» minúscula.
vmstat -s
Aunque las estadísticas que se informan son en gran medida las mismas que la información que constituye la vmstat
salida predeterminada , algunas de ellas se dividen con más detalle.
Por ejemplo, la salida predeterminada combina el tiempo de CPU del usuario agradable y no agradable en la columna «nosotros». La pantalla -s (estadísticas) enumera estas estadísticas por separado.
Puede obtener una lista similar de estadísticas de disco utilizando la -d
opción (disco).
vmstat -d | Menos
Para cada disco, se muestran tres columnas, estas son Lecturas, Escrituras e IO.
IO es la columna de la derecha. Tenga en cuenta que la columna seg en IO se mide en segundos, pero las estadísticas basadas en el tiempo en las columnas de lectura y escritura se miden en milisegundos.
Esto es lo que significan las columnas:
Lee
escribe
IO
Para ver una visualización rápida de las estadísticas resumidas de la actividad de su disco, use la -D
opción (disk-sum). Tenga en cuenta la «D» mayúscula
vmstat -D
La cantidad de discos puede parecer anormalmente alta. La computadora utilizada para investigar este artículo ejecuta Ubuntu. Con Ubuntu, cada vez que instala una aplicación desde un Snap, squashfs
se crea un pseudo-sistema de archivos que se adjunta a un dispositivo / dev / loop.
Es molesto que muchas de las utilidades y comandos de Linux cuenten estas entradas de dispositivo como dispositivos de disco duro.
Para ver las estadísticas relacionadas con una partición específica, use la -p
opción (partición) y proporcione el identificador de la partición como parámetro de línea de comando.
Aquí vamos a ver la partición sda1
. El dígito uno indica que esta es la primera partición en el dispositivo sda
, que es el disco duro principal de esta computadora.
vmstat -p sda1
La información devuelta muestra el recuento total de lecturas y escrituras en disco desde y hacia esa partición, y el número de sectores incluidos en las acciones de lectura y escritura en disco.
Siempre es bueno saber cómo levantar el capó y ver qué pasa debajo. A veces, tratará de resolver un problema, a veces no le interesará porque desea saber cómo funciona su computadora.
vmstat
puede proporcionarle un montón de información útil. Ahora sabe cómo acceder a él y lo que significa. Y estar advertido está prevenido: cuando necesite arremangarse y hacer algunos diagnósticos, sabrá que está vmstat
de su lado.
El mundo del gaming ha experimentado un crecimiento exponencial en los últimos años. La…
Stokkete/Shutterstock.com ¿Sigue utilizando una unidad flash USB obsoleta para almacenar sus archivos? ¿Por qué no…
LG Los fabricantes siempre intentan mejorar el rendimiento de imagen de los monitores. Como resultado,…
Patty Chan/Shutterstock.com Si cree en lo que ve en las redes sociales, puede pensar en…
Seksan.TH/Shutterstock.com Los servicios de suscripción como Netflix, Game Pass y Spotify nos permiten consumir tantas…
fatmawati achmad zaenuri/Shutterstock El acceso a Internet, oa cualquier otra red, se rige por la…