GNU/Linux >> Tutoriales Linux >  >> Linux

Comandos de Linux:exploración de la memoria virtual con vmstat

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. ]


Linux
  1. Envía comandos a múltiples sesiones SSH con Terminator

  2. Uso de memoria de Linux

  3. Más de 10 comandos de Linux VI con ejemplos

  4. Cómo usar el comando Vmstat en Linux explicado con ejemplos

  5. Cómo usar la memoria compartida con Linux en C

Comandos RPM en Linux con ejemplos

Comandos SSH en Linux con ejemplos de uso

Tutorial de Vagrant:Primeros pasos con Vagrant en Linux

Mostrar hojas de trucos de comandos de Linux con la herramienta Tealdeer

Una guía para el comando vmstat en Linux

Uso de vmstat para solucionar problemas de rendimiento en Linux