Hay muchos comandos, herramientas y variaciones de los dos para que usted los ponga a trabajar cuando se trata de estadísticas del sistema en Linux. Sin embargo, si necesita información específica sobre la memoria virtual, debe usar vmstat
.
¿Qué es?
Reportero de estadísticas de memoria virtual, también conocido como vmstat
, es una herramienta de línea de comandos de Linux que informa varios bits de información del sistema. Cosas como memoria, paginación, procesos, E/S, CPU y programación de disco se incluyen en la matriz de información proporcionada.
Cuando ejecuta vmstat
, tenga en cuenta que el primer informe es un promedio de la información solicitada desde el momento del último reinicio. Los informes posteriores utilizan medidas de retraso y contar . Los cubro específicamente durante la discusión de sintaxis.
Sintaxis del comando
La sintaxis para vmstat
El comando es bastante simple:
$ vmstat [opciones][retraso [recuento]]
- Opciones:se tratan en detalle en la siguiente sección.
- Retraso:define el intervalo de tiempo entre actualizaciones. Si no se especifica ningún retraso, el informe se ejecuta como un promedio desde el último reinicio.
- Recuento:define el número de actualizaciones impresas después del intervalo de retraso dado. Si no se establece ningún recuento, el valor predeterminado es un número infinito de actualizaciones cada x segundos (donde x =retraso).
Salida básica y cómo darle sentido
La forma más básica de este comando no utiliza ninguna opción. Aquí está la salida estándar y cómo leerla:
[tcarrigan@rhel ~]$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 6012852 2120 817048 0 0 2805 289 797 657 21 7 71 1 0
Verá información sobre procesos, memoria, intercambio, E/S, sistema y CPU. La página del manual para el comando indica lo siguiente (man vmstat
):
- Procs
- r: The number of runnable processes (running or waiting for run times)
- b: The number of processes in uninterruptible sleep.
- Memory
- swpd: the amount of virtual memory used.
- free: the amount of idle memory
- buff: the amount of memory used as buffers
- cache: the amount of memory used as cache.
- inact: the amount of inactive memory. (-a option)
- active: the amount of active memory. (-a option)
- Swap
- si: Amount of memory swapped in from disk (/s).
- so: Amount of memory swapped to a block device (/s).
- IO
- bi: Blocks received from a block device (blocks/s).
- bo: Blocks sent to a block device (blocks/s).
- System
- in: The number of interrupts per second, including the clock.
- cs: The number of context switcher per second.
- CPU
- These are percentages of total CPU time.
- us: Time spent running non-kernel code. (user time, including nice time)
- sy: Time spent running kernel code. (system time)
- id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time.
- wa: Time spent waiting for IO. Before Linux 2.5.41, included in idle.
- st: Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown.
Entre la información importante aquí, encontrará la cantidad de memoria libre en el sistema, así como la cantidad de actividad de intercambio que está experimentando actualmente.
Opciones para saber
El -a
La opción nos dará la memoria activa e inactiva del sistema:
[tcarrigan@rhel ~]$ vmstat -a
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free inact active si so bi bo in cs us sy id wa st
0 0 0 6022104 609656 1185980 0 0 180 40 80 79 1 1 98 0 0
El -f
opción nos dará el número de bifurcaciones desde el arranque:
[tcarrigan@rhel ~]$ vmstat -f
2911 forks
Tenga en cuenta que una bifurcación es cualquier proceso que genera otros procesos mientras permanece activo.
El -s
La opción muestra varias estadísticas de memoria, así como contadores de eventos de CPU y E/S:
[tcarrigan@rhel ~]$ vmstat -s
8161656 K total memory
1216012 K used memory
1186276 K active memory
609632 K inactive memory
6021980 K free memory
2120 K buffer memory
921544 K swap cache
3145724 K total swap
0 K used swap
3145724 K free swap
5888 non-nice user cpu ticks
476 nice user cpu ticks
1520 system cpu ticks
529965 idle cpu ticks
331 IO-wait cpu ticks
939 IRQ cpu ticks
103 softirq cpu ticks
0 stolen cpu ticks
755494 pages paged in
167719 pages paged out
0 pages swapped in
0 pages swapped out
365026 interrupts
374126 CPU context switches
1590618807 boot time
2952 forks
El -d
La opción le brinda estadísticas de lectura/escritura para varios discos:
[tcarrigan@rhel ~]$ vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
sda 17019 40 1498524 10680 4683 1050 335510 1561 0 10
sdb 105 0 6232 67 0 0 0 0 0 0
sdc 105 0 6232 59 0 0 0 0 0 0
sr0 0 0 0 0 0 0 0 0 0 0
dm-0 16677 0 1469065 12431 5713 0 336816 2485 0 10
dm-1 98 0 4440 39 0 0 0 0 0 0
El -t
La opción nos brinda información de marca de tiempo con cada actualización, como se ve aquí:
[tcarrigan@rhel ~]$ vmstat -t 5 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- -----timestamp-----
r b swpd free buff cache si so bi bo in cs us sy id wa st EDT
1 0 0 6021412 2120 921548 0 0 118 26 62 66 1 0 99 0 0 2020-05-27 19:00:11
0 0 0 6021300 2120 921548 0 0 0 0 349 510 1 0 99 0 0 2020-05-27 19:00:16
0 0 0 6021272 2120 921548 0 0 0 2 196 294 0 0 100 0 0 2020-05-27 19:00:21
0 0 0 6021272 2120 921548 0 0 0 0 110 161 0 0 100 0 0 2020-05-27 19:00:26
0 0 0 6021272 2120 921548 0 0 0 0 112 169 0 0 100 0 0 2020-05-27 19:00:31
0 0 0 6021272 2120 921548 0 0 0 0 171 267 0 0 99 0 0 2020-05-27 19:00:36
0 0 0 6021188 2120 921552 0 0 0 0 201 291 0 0 99 0 0 2020-05-27 19:00:41
0 0 0 6021188 2120 921552 0 0 0 0 152 233 0 0 100 0 0 2020-05-27 19:00:46
2 0 0 6021188 2120 921552 0 0 0 3 127 165 0 0 100 0 0 2020-05-27 19:00:51
0 0 0 6021188 2120 921552 0 0 0 0 95 131 0 0 100 0 0 2020-05-27 19:00:56
Verá que hay 10 actualizaciones, impresas cada cinco segundos, con información de marca de tiempo adjunta.
Además, tenga en cuenta que todas las estadísticas de memoria se muestran en kilobytes de forma predeterminada.
Resumen
Para terminar, veamos lo que aprendimos. El vmstat
El comando es una poderosa herramienta de estadísticas del sistema que se puede usar con o sin opciones. Imprime actualizaciones usando dos variables principales (retraso y conteo), y podemos personalizar el comando y la salida para satisfacer nuestras necesidades. Espero que haya disfrutado de este vistazo a vmstat
dominio. Cubriré ifstat
en un próximo artículo, ¡así que esté atento!
[ Curso gratuito en línea:Descripción general técnica de Red Hat Enterprise Linux. ]