Monitorare le operazioni di IO con Linux e iostat

Mattepuffo's logo
Monitorare le operazioni di IO con Linux e iostat

Monitorare le operazioni di IO con Linux e iostat

Monitorare le operazioni di I/O non è mai facilissimo.

Ho scoperto un programma, comunque di non facilissima lettura, ma con tantissime opzioni che ci può aiutare: iostat!

Questo comando fa parte del pacchetto sysstat.

Per installarlo su Ubuntu e Debian:

# aptitude intall sysstat

Su Arch Linux:

# pacman -Sy sysstat

Vediamo qualche esempio; questo comando mostra le righe ongi due secondi:

$ iostat -h -d 2
Linux 4.13.0-16-generic (matte-xu) 	13/11/2017 	_x86_64_	(2 CPU)

Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
scd0
                  0,06         0,3k         0,0k     168,0k       0,0k
sda
                 45,27         1,0M       609,7k     681,3M     388,7M

Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
scd0
                  0,00         0,0k         0,0k       0,0k       0,0k
sda
                  0,00         0,0k         0,0k       0,0k       0,0k

L'opzione -h ci serve per visualizzare i dati in maniera più semplice / leggibile.

Possiamo limitare il numero di report (righe visualizzate):

$ iostat -h -d 2 4

Dopo quattro report il comandi si ferma.

Possiamo aggiungere più informazioni (ma anche difficolà nel leggere il report) con -x:

$ iostat -hx -d 2 4

Volendo possiamo anche specificare un device invece di monitorarli tutti:

$ iostat -h sda -d 2 4

Oppure specificare di visualizzare tutte le partizioni con -p (il formato output sarà un pò differente):

$ iostat -hp sda -d 2 4
Linux 4.13.0-16-generic (matte-xu) 	13/11/2017 	_x86_64_	(2 CPU)

Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
loop0
                  0,00         0,0k         0,0k       0,0k       0,0k
loop1
                  0,00         0,0k         0,0k       0,0k       0,0k
loop2
                  0,00         0,0k         0,0k       0,0k       0,0k
loop3
                  0,00         0,0k         0,0k       0,0k       0,0k
loop4
                  0,00         0,0k         0,0k       0,0k       0,0k
loop5
                  0,00         0,0k         0,0k       0,0k       0,0k
loop6
                  0,00         0,0k         0,0k       0,0k       0,0k
loop7
                  0,00         0,0k         0,0k       0,0k       0,0k
scd0
                  0,04         0,2k         0,0k     168,0k       0,0k
sda
                 30,53       720,2k       411,0k     681,3M     388,8M
sda1
                 29,60       718,1k       411,0k     679,3M     388,8M

Infine possiamo aggiungere anche l'uso della CPU con -c:

$ iostat -hc -d 2 4
Linux 4.13.0-16-generic (matte-xu) 	13/11/2017 	_x86_64_	(2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1,0%    0,2%   14,6%    4,9%    0,0%   79,3%

Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
scd0
                  0,04         0,2k         0,0k     168,0k       0,0k
sda
                 28,63       675,5k       385,5k     681,3M     388,8M

Guardate alla man page per le altre opzioni.

Enjoy!


Condividi

Commentami!