Su computadora Linux o MacOS usa memoria virtual. Aprenda cómo esto afecta el uso de la memoria física de su sistema, los recursos de la CPU y el disco duro.
- ¿Qué es la memoria virtual?
- El comando vmstat
- Usando el intervalo de tiempo
- Usando el valor del mostrador
- Hay cinco columnas en la salida. Estos son:
- ¿Cuáles son las diferencias entre Linux y Unix?
- Se muestran tres columnas para cada disco: «Reads», «escribe» e «IO».
- CUR: El número de operaciones actuales de lectura o escritura en el disco. Sec: El tiempo en segundos tomado para cualquier operación de lectura o escritura en progreso.
- vmsta t-p sda1
- vmstat en la ventana de la terminal
- vmstat 5-a -sm en una ventana terminal
- vmsta t-s en la ventana terminal
- vmsta t-d en la ventana terminal
¿Qué es la memoria virtual?
Su computadora está equipada con una cantidad limitada de memoria física llamada RAM (Baran). Esta RAM debe ser administrada por el núcleo y compartida entre el sistema operativo y cualquier aplicación en ejecución. Si estos requisitos combinados requieren más memoria de la instalada físicamente en su computadora, ¿qué puede hacer el núcleo?
Los sistemas operativos de Linux y UNIX, como MacOS, pueden usar espacio en el disco duro para ayudarlos a administrar los requisitos de memoria. Un área reservada en el disco duro llamado «área de intercambio» se puede usar como una extensión de RAM. Esta es la memoria virtual.
El núcleo de Linux puede escribir el contenido de un bloque de memoria al espacio de intercambio y liberar esta área de RAM para su uso por otro proceso. La memoria descargada, también llamada memoria «descargable», se puede recuperar del espacio de intercambio y restaurarse a RAM cuando sea necesario.
Por supuesto, la velocidad de acceso a la memoria descargada es más lenta que la memoria almacenada en la RAM. Y esa no es la única compensación. Si bien la memoria virtual permite que Linux administre sus necesidades de memoria, el uso de la memoria virtual ejerce una tensión adicional en otras partes de la computadora.
Su disco duro debe realizar más operaciones de lectura y escritura. El núcleo, y por lo tanto la CPU, debe hacer más trabajo a medida que descarga la memoria, intercambia la memoria y mantiene todos los platos girando para satisfacer las necesidades de memoria de varios procesos.
Linux le proporciona una forma de realizar un seguimiento de toda esta actividad en forma del comando VMSTAT, que informa estadísticas de memoria virtual.
El comando vmstat
Si ingresa VMStat como un comando sin parámetros, le mostrará un conjunto de valores. Estos valores representan los valores promedio para cada estadística ya que su computadora se reinició por última vez. Estos números no reflejan los valores actuales.
vmstat
Se muestra una tabla resumida de valores.
Hay columnas etiquetadas como procs, memoria, intercambio, IO, sistema y CPU. La última columna (la columna más a la derecha) contiene datos relacionados con la CPU.
Aquí hay una lista de los elementos de datos en cada columna.
R: Número de procesos de ejecución. Estos son procesos que se han iniciado y están ejecutando o esperando la próxima explosión de ciclos de CPU con cuantificación de tiempo. B: El número de procesos en el sueño continuo. Un proceso no está dormido, está ejecutando una llamada del sistema de bloqueo y no puede interrumpirse hasta que complete su acción actual. Por lo general, un proceso es un controlador de dispositivos que espera que se liberen algún recurso. Cualquier interrupción en la cola para este proceso se maneja cuando el proceso reanuda su actividad normal.
Cómo usar la música de marea desde la línea de comandos en Linux
SWPD: la cantidad de memoria virtual utilizada. En otras palabras, cuánta memoria se ha descargado., GRATIS: la cantidad de memoria gratuita (actualmente sin usar). Buff: la cantidad de memoria utilizada como búferes. Cache: la cantidad de memoria utilizada como caché.
SI: La cantidad de memoria virtual cargada desde el área de intercambio. Entonces: la cantidad de memoria virtual descargada para la paginación.
BI: bloques obtenidos del dispositivo de bloque. El número de bloques de datos utilizados para cambiar la memoria virtual a la RAM. BO: Bloques enviados al dispositivo de bloque. Número de bloques de datos utilizados para intercambiar memoria virtual de RAM al intercambio de espacio.
En: Número de interrupciones por segundo, incluido el reloj. CS: número de interruptores de contexto por segundo. Un interruptor de contexto es cuando el núcleo cambia del procesamiento del modo del sistema al procesamiento del modo de usuario.
Todos estos valores son porcentajes del tiempo total de CPU.
EE. UU.: Tiempo dedicado a ejecutar código que no sea el núcleo. Es decir, cuánto tiempo se dedica a procesar tiempo de usuario y procesar bien. SY: Tiempo dedicado a ejecutar el código del kernel. ID: Tiempo de inactividad. WA: Tiempo dedicado a esperar la entrada o salida. ST: Tiempo robado de la máquina virtual. Este es el momento en que una máquina virtual debe esperar a que el hipervisor termine de atender otras máquinas virtuales antes de que pueda regresar y acceder a esta máquina virtual.
Usando el intervalo de tiempo
Podemos obligar a VMSTAT a actualizar estos números regularmente utilizando un valor de retraso. El valor de retraso se especifica en segundos. Para actualizar las estadísticas cada cinco segundos, usaríamos el siguiente comando:
vmstat 5
Cada cinco segundos, VMStat agregará otra fila de datos a la tabla. Deberá presionar CTRL + C para detener esto.
Usando el valor del mostrador
Como puede imaginar, el núcleo asigna y libera memoria una y otra vez para los diferentes tipos de objetos de datos que debe procesar. Para que esto sea lo más eficiente posible, aquí se usa un sistema llamado Slabs. Esta es una forma de almacenamiento en caché.
La memoria asignada, utilizada y no necesaria para un tipo particular de objeto de datos del núcleo se puede reutilizar para otro objeto de datos del mismo tipo sin liberar y reasignar la memoria. Piense en los bloques como segmentos de RAM pre y asignados y personalizados para las propias necesidades del núcleo.
Para ver estadísticas sobre losas, use el parámetr o-m (losas). Deberá usar sudo y se le solicitará una contraseña. Dado que la salida puede ser bastante larga, la mantendremos corta.
sudo vmsta t-m |menos.
Hay cinco columnas en la salida. Estos son:
Cache: el nombre del caché. NUM: El número de objetos actualmente activos en este caché. Total: el número total de objetos disponibles en este caché. Tamaño: El tamaño de cada objeto en el caché. Páginas: El número total de páginas de memoria que tienen (al menos) un objeto actualmente asociado con este caché.
Presione Q para dejar menos.
Mostrar contadores de eventos y estadísticas de memoria
Para mostrar una página de contadores de eventos y estadísticas de memoria, use el parámetr o-s (estadísticas). Tenga en cuenta que esta es una «S» minúscula.
vmsta t-s
Si bien las estadísticas informadas son principalmente las mismas que la información que constituye la salida VMSTAT predeterminada, algunas de ellas se desglosan con más detalle.
¿Cuáles son las diferencias entre Linux y Unix?
Por ejemplo, la salida predeterminada combina el tiempo de CPU de usuario bueno y malo en la columna «US». La pantall a-s (estadísticas) enumera estas estadísticas por separado.
Pantalla de estadísticas de disco
Puede obtener una lista similar de estadísticas de disco utilizando el parámetr o-d (disco).
vmsta t-d |menos
Se muestran tres columnas para cada disco: «Reads», «escribe» e «IO».
IO es la columna más correcta. Tenga en cuenta que la columna SEC 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:
Total: Número total de operaciones de lectura de disco. Fusionado: número total de lecturas que se agruparon. Sectores: Número total de sectores que se leyeron. MS: cantidad total de tiempo en milisegundos que se utilizó para leer datos del disco.
Total: El número total de operaciones de escritura al disco. Fusionado: el número total de registros agrupados juntos. Sectores: el número total de sectores escritos. MS = La cantidad total de tiempo en milisegundos que se utilizó para escribir datos en el disco.
CUR: El número de operaciones actuales de lectura o escritura en el disco. Sec: El tiempo en segundos tomado para cualquier operación de lectura o escritura en progreso.
Mostrar estadísticas de disco de resumen
Para ver rápidamente las estadísticas resumidas de su actividad de disco, use el parámetr o-d (suma del disco). Tenga en cuenta el «D.» capitalizado capitalizado
vmsta t-d
El recuento de disco puede parecer excesivamente grande. La computadora utilizada para investigar este artículo está ejecutando Ubuntu. En Ubuntu, cada vez que instala una aplicación desde Snap, se crea un sistema de pseudo-archivo squashfs y se adjunta al dispositivo / dev / bucle.
Desafortunadamente, muchos comandos y utilidades de Linux consideran que estas entradas del dispositivo son discos duros.
Mostrar estadísticas de partición
Para ver las estadísticas relacionadas con una partición específica, use el parámetr o-p (partición) y especifique la ID de partición como un parámetro de línea de comandos.
Aquí vamos a ver la Partición SDA1. El número 1 significa que esta es la primera partición en el dispositivo SDA, que es el disco duro principal para esta computadora.
vmsta t-p sda1
La información devuelta muestra el número total de operaciones de lectura y escritura de disco hacia y desde esta partición, así como el número de sectores incluidos en las operaciones de lectura y escritura de disco.
Mirando debajo del capó
Siempre es bueno saber cómo levantar el capó y ver qué está pasando debajo. A veces está tratando de resolver un problema, otras veces será poco interesante porque quiere saber cómo está funcionando su computadora.
VMStat puede proporcionarle mucha información útil. Ahora sabe cómo acceder a él y lo que significa. Y el advertido está preliminado: cuando necesite enrollarse las mangas y ejecutar diagnósticos, sabrá que tiene VMStat en su lado.
toadmin. ru
vmstat en la ventana de la terminal
Salida VMStat en una ventana de terminal
VMSTAT SALIDA COLUMNAS DE RETIRA EN LA VENTANA DE TERMINAL
vmstat 5 en la ventana terminal
Salida de VMStat 5 en la ventana Terminal
vmstat 5 4 en la ventana terminal
VMSTAT 5 4 Salida en la ventana Terminal
vmstat 1 0-sm en una ventana terminal
Salida de VMStat 1 0-sm en la ventana terminal
vmstat 5-a -sm en una ventana terminal
VMSTAT 5-A -SMOM en una ventana de terminal
vmsta t-f en una ventana terminal
sudo vmsta t-m |Menos en la ventana terminal
sudo vmsta t-m |menos en una ventana terminal
vmsta t-s en la ventana terminal
Salida VMSta t-S en una ventana de terminal
vmsta t-d |Menos en la ventana terminal
salida vmsta t-d |m menos en la ventana terminal
vmsta t-d |Menos en la ventana terminal vmsta t-d |Menos en la ventana terminal
vmsta t-d en la ventana terminal
Salida VMSTA T-D en una ventana de terminal
vmsta t-p en una ventana terminal