Inicio > Techs > Usando y entendiendo vmstat

Usando y entendiendo vmstat

sábado, 14 de mayo de 2011 Dejar un comentario Ir a comentarios

Vmstat es un comando que nos permite obtener un detalle general de los procesos, E/S, uso de memoria/swap, estado del sistema y actividad del CPU. Es esencial para entender que esta pasando en tu sistema, detectar cuellos de botella, etc..

Para usarlo, podemos correrlo sin parámetros, y obtendremos algo similar a esto:

La primera línea es simple, se divide en seis categorías: procesos, memoria, swap, E/S, sistema y CPU.
La segunda un detalle abierto de cada categoria superior.

Los campos mostrados en relación a los a procesos son:

r: El número de procesos ejecutables esperando para acceder al CPU.
b: El número de procesos en un estado dormido contínuo.

Los campos relacionados a la memoria son:

swpd: La cantidad de memoria utilizada.
free: La cantidad de memoria libre.
buff: La cantidad de memoria utilizada por las memorias intermedias.
cache: La cantidad de memoria utilizada como caché de páginas.

Los campos relacionados a swap son:

si: La cantidad de memoria intercambiada desde el disco.
so: La cantidad de memoria intercambiada hacia el disco.

Los campos relacionados con E/S son:

bo: Los bloques enviados a un dispositivo de bloques.
bi: Los bloques recibidos desde un dispositivo de bloques.

Los campos relacionados al sistema son:

in: El número de interrupciones por segundo.
cs: El número de cambios de contexto por segundo.

Los campos relacionados al CPU son:

us: El porcentaje de tiempo que el CPU ejecutó código de nivel del usuario.
sy: El porcentaje de tiempo que el CPU ejecutó código de nivel del sistema.
id: El porcentaje de tiempo que el CPU estaba desocupado.
wa: Esperas de E/S.

Si se ejecuta el comando «vmstat» sin opciones, nos muestra una unica línea, que contiene promedios calculados desde la última vez que se arrancó el sistema.

Si ejecutamos «vmstat 1» muestra una nueva línea de utilización de datos cada segundo, mientras que el comando «vmstat 1 10», muestra una nueva línea por segundo, pero sólo por los próximos 10 segundos.

Vmstat es un comando que nos permite obtener un detalle general de los procesos, E/S, uso de memoria/swap, estado del sistema y actividad del CPU.Para usarlo, podemos correrlo sin parametros, y obtendremos algo similar a esto:

procs ———–memory———- —swap– —–io—- -system– —-cpu—-
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
0  0    632 205776 113804 1258860    0    0    44   176  339  307 26  4 67  3

La primera línea es simple, se divide en seis categorías: procesos, memoria, swap, E/S, sistema y CPU.
La segunda un detalle abierto de cada categoria superior.

Los campos mostrados en relación a los a procesos son:

r: El número de procesos ejecutables esperando para acceder al CPU.
b: El número de procesos en un estado dormido contínuo.

Los campos relacionados a la memoria son:

swpd: La cantidad de memoria utilizada.
free: La cantidad de memoria libre.
buff: La cantidad de memoria utilizada por las memorias intermedias.
cache: La cantidad de memoria utilizada como caché de páginas.

Los campos relacionados a swap son:

si: La cantidad de memoria intercambiada desde el disco.
so: La cantidad de memoria intercambiada hacia el disco.

Los campos relacionados con E/S son:

bi: Los bloques enviados a un dispositivo de bloques.
bo: Los bloques recibidos desde un dispositivo de bloques.

Los campos relacionados al sistema son:

in: El número de interrupciones por segundo.
cs: El número de cambios de contexto por segundo.

Los campos relacionados al CPU son:

us: El porcentaje de tiempo que el CPU ejecutó código de nivel del usuario.
sy: El porcentaje de tiempo que el CPU ejecutó código de nivel del sistema.
id: El porcentaje de tiempo que el CPU estaba desocupado.
wa: Esperas de E/S.

Si se ejecuta el comando «vmstat» sin opciones, nos muestra una unica línea, que contiene promedios calculados desde la última vez que se arrancó el sistema.

Si ejecutamos «vmstat 1» muestra una nueva línea de utilización de datos cada segundo, mientras que el comando «vmstat 1 10», muestra una nueva línea por segundo, pero sólo por los próximos 10 segundos.

Categories: Techs Tags: , ,
  1. lunes, 17 de febrero de 2014 a las 09:45 | #1

    Buenas,
    Excelente el artículo , me ha servido bastante. Tirando de google para ampliar información de algunas secciones he visto que tienes puesto en la parte de E/S.
    Creo que los tienes cambiados ; bi bloques recibidos pero no envíados y lo mismo para bo bloques envíados pero no recibidos.
    Te lo copio de la página man:
    IO
    bi: Blocks received from a block device (blocks/s).
    bo: Blocks sent to a block device (blocks/s)

  2. lunes, 17 de febrero de 2014 a las 15:52 | #2

    Tenés razón, ahi está corregido! muchas gracias!

  1. miércoles, 7 de octubre de 2015 a las 06:10 | #1