Obtenir informació sobre memòria, procesos, paginació i més amb vmstat

Última modificació: setembre de 2015

El paquet sysstat en proporciona tres eines de monitorització:

    • vmstat: ens proporciona informació sobre la memòria, processos, paginació, block IO, traps i activitat de CPU i discs.
    • sar: ens proporciona dades històriques de rendiment i ús de recursos d'un sistema
    • iostat: ens proporciona informació sobre la CPU i dades de entrada i sortida de dispositius i particions

Anem a veure com podem utilitzar vmstat. Si l'executem obtindrem alguna cosa semblant a això:

bmw@ubdes:~$ vmstat

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----

r b swpd free buff cache si so bi bo in cs us sy id wa st

0 0 0 320672 215140 1591064 0 0 24 47 163 88 6 1 92 1 0

NOTA: Si executem vmstat sense paràmetres, el que veiem son les estadístiques des de que el sistema s'ha iniciat.

A la pàgina man de vmstat s'explica amb detall que vol dir cada camp:

FIELD DESCRIPTION FOR VM MODE

Procs

r: The number of runnable processes (running or waiting for run time).

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 disk (/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 switches 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. Prior to Linux 2.5.41, included in idle.

st: Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown.

FIELD DESCRIPTION FOR DISK MODE

Reads

total: Total reads completed successfully

merged: grouped reads (resulting in one I/O)

sectors: Sectors read successfully

ms: milliseconds spent reading

Writes

total: Total writes completed successfully

merged: grouped writes (resulting in one I/O)

sectors: Sectors written successfully

ms: milliseconds spent writing

IO

cur: I/O in progress

s: seconds spent for I/O

FIELD DESCRIPTION FOR DISK PARTITION MODE

reads: Total number of reads issued to this partition

read sectors: Total read sectors for partition

writes : Total number of writes issued to this partition

requested writes: Total number of write requests made for partition

FIELD DESCRIPTION FOR SLAB MODE

cache: Cache name

num: Number of currently active objects

total: Total number of available objects

size: Size of each object

pages: Number of pages with at least one active object

Si volen anar rebent informació, farem que vmstat s'executi periòdicament. Amb aquesta instrucció ferm que s'executi 20 vegades, cada 3 segons:

vmstat 3 20

Obtenir estadístiques (és la mateixa sortida, vista d'una manera més amigable):

vmstat -s

Obtenir estadístiques dels discs (veure a la taula anterior "FIELD DESCRIPTION FOR DISK MODE" per a interpretar els camps dels resultats):

vmstat -d

Obtenir estadístiques d'una partició (veure a la taula anterior "FIELD DESCRIPTION FOR DISK PARTITION MODE" per a interpretar els camps dels resultats):

vmstat -p /dev/sda6 (o la partició que volguem)

Obtenir estadístiques d'slab (veure a la taula anterior "FIELD DESCRIPTION FOR SLAB MODE" per a interpretar els camps dels resultats):

sudo vmstat -m