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