Il comando iostat viene utilizzato per monitorare l'utilizzo della CPU e le statistiche di I/O (input/output) di tutti i dischi e i file system. Il comando nfsiostat viene utilizzato per monitorare le statistiche di i/o del file system di rete (NFS).
Il comando iostat monitora il caricamento dei dispositivi I/O (Input/Output) osservando il tempo, i dispositivi sono attivi rispetto alle loro velocità di trasferimento medie. Questo comando è particolarmente utile per generare rapporti che possiamo utilizzare per ottimizzare il carico di input e output del sistema.
Il comando iostat generalmente genera due rapporti:
- Rapporto sull'utilizzo della CPU
- Rapporto statistico di tutti i dischi i/o
Per generare i report, il comando iostat legge alcuni dei file di sistema. Questi file sono,
- /proc/diskstats per le statistiche del disco
- /proc/stat per le statistiche di sistema
- /sys per bloccare le statistiche del dispositivo
- /proc/devices per nomi di dispositivi persistenti
- /proc/self/mountstats per tutti i filesystem di rete
- /proc/uptime per informazioni sull'uptime del sistema
In questo tutorial impareremo come installare l'utilità iostat su sistemi Linux e poi discuteremo come generare report usando il comando iostat,
Installazione Iostat su sistemi Linux:
iostat fa parte di "sysstat ', possiamo installarlo sul nostro sistema usando il seguente comando,
CentOS/RedHat
[[email protected] ~]# yum install sysstat -y
Ubuntu/Debian
$ sudo apt-get install sysstat -y
Fedora
[[email protected] ~]# dnf install sysstat -y
Ora diamo un'occhiata ad alcuni esempi per capire meglio il comando iostat.
Esempio:1 Ottieni statistiche complete (CPU e dispositivi)
Per ottenere le statistiche complete per il sistema, apri il terminale ed esegui il comando seguente,
[[email protected] ~]# iostat
Questo produrrà il seguente output sullo schermo,
Qui nell'output del comando iostat,
- %user, è l'utilizzo della CPU per l'utente,
- %nice, è l'utilizzo della CPU per le app con una buona priorità,
- %system, è la CPU utilizzata dal sistema,
- %iowait, è la percentuale di tempo durante la quale la CPU è rimasta inattiva ma si è verificata una richiesta di I/o in sospeso,
- %steal, percentuale di tempo in cui la CPU è rimasta in attesa mentre l'hypervisor stava lavorando su un'altra CPU,
- %idle, è la percentuale di tempo in cui il sistema è rimasto inattivo senza richieste in sospeso.
Dispositivi, mostra il nome di tutti i dispositivi sul sistema,
- Tps, è l'abbreviazione di trasferimento al secondo,
- Blk_read/s e Blk_write/s sono la velocità di trasferimento per le operazioni di lettura e scrittura,
- Blk_read &Blk_write mostra il numero totale di blocchi letti e scritti.
Esempio:2 genera solo statistiche CPU
Per generare solo le statistiche della CPU per il sistema, utilizzeremo le opzioni "c" con iostat. Esegui il seguente comando dal terminale,
[[email protected] ~]# iostat -c
Esempio:3 per generare statistiche i/o per tutti i dispositivi (opzione -d)
Per ottenere il report iostat solo per i dispositivi collegati al sistema, utilizzeremo l'opzione 'd' con il comando iostat,
[[email protected] ~]# iostat -d
Esempio:4 Genera statistiche i/o dettagliate
Sebbene di solito le statistiche fornite dal comando iostat siano sufficienti, ma se desideri ottenere statistiche ancora più dettagliate, possiamo usare l'opzione '-x' insieme al comando iostat. L'esempio è mostrato di seguito,
[[email protected] ~]# iostat -x
Esempio:5 genera rapporti dettagliati per dispositivi e CPU separatamente
Per ottenere informazioni dettagliate sui dispositivi sul sistema, utilizzeremo l'opzione 'd' insieme all'opzione 'x',
[[email protected] ~]# iostat -xd
Allo stesso modo, per generare le informazioni dettagliate per la CPU, utilizzeremo le opzioni "c" e "x",
[[email protected] ~]# iostat -xc
Esempio:6 Ottenere statistiche i/o per un singolo dispositivo
iostat può anche fornire le statistiche di i/o per un singolo dispositivo. Per ottenere le statistiche di un dispositivo, esegui il comando iostat insieme all'opzione "p" seguita dal nome del dispositivo,
[[email protected] ~]# iostat -p sda
Esempio:7 genera rapporti in MB o KB
Possiamo anche generare le statistiche di sistema in unità Megabyte o kilobyte. Per generare i rapporti in mb, utilizzeremo l'opzione 'm' con il comando iostat,
[[email protected] ~]# iostat -m
Allo stesso modo, possiamo anche generare i report in formato kb unit con l'opzione 'k',
[[email protected] ~]# iostat -k
Esempio:8 Generazione di rapporti statistici di I/o di sistema con ritardo
Per acquisire le statistiche di sistema con un ritardo, possiamo citare il comando iostat seguito da intervallo in secondi e numero di rapporti richiesti,
[[email protected] ~]# iostat 3 2
In questo esempio, stiamo acquisendo 2 rapporti a intervalli di 3 secondi,
Possiamo anche usare il parametro delay insieme ad altre opzioni del comando iostat di cui abbiamo discusso sopra.
Esempio:9 Genera il report delle statistiche LVM
Per generare le statistiche LVM, possiamo usare l'opzione 'N' con il comando iostat,
[[email protected] ~]# iostat -N
Esempio:10 genera i rapporti solo per i dispositivi attivi
Possiamo anche generare rapporti per i dispositivi attivi e omettere i dispositivi dai rapporti che sono inattivi per il periodo di campionamento. Useremo l'opzione 'z' con il comando iostat per ottenere ciò,
[[email protected] ~]# iostat -z 2 5
Esempio:11 Genera rapporti iostat con timestamp
Per generare i rapporti iostat con un timestamp, utilizzeremo l'opzione "t" insieme al comando iostat,
[[email protected] ~]# iostat -t
Esempio:12 Genera report statistici in base al nome del dispositivo persistente
Per ottenere il rapporto in base al nome persistente del dispositivo, utilizzeremo l'opzione "j" seguita dalla parola chiave "ID" e dal nome persistente del dispositivo,
Usa il comando blkid per trovare l'UUID del disco.
Una volta trovato l'UUID / ID, utilizzare il comando iostat di seguito,
[[email protected] ~]# iostat -j id 12244367-e751-4c1c-9336-f30d623fceb8
Esempio:13 Genera statistiche i/o per Network File System (NFS)
Possiamo usare il comando nfsiostat per generare i rapporti statistici di i/o NFS. Il comando nfsiostat è la parte del pacchetto 'nfs-utils'. Supponiamo di aver montato due condivisioni NFS sul nostro server, quindi per generare il rapporto statistico per la condivisione NFS esegui il comando seguente,
[[email protected] ~]# nfsiostat
Esempio:14 Genera un rapporto sulle statistiche di I/O del sistema in un periodo di tempo
Il comando iostat genera le statistiche di i/o in tempo reale del tuo sistema e se desideri visualizzare i report delle statistiche su un periodo di tempo (statistiche di i/o del sistema di backdate), allora dovremmo usare l'utilità sar. Il comando Sar è fornito anche dal pacchetto 'sysstat'
Questo è tutto ragazzi, abbiamo coperto tutte le opzioni/parametri che possono essere utilizzati con il comando iostat. Puoi provare a mescolare queste opzioni per ottenere risultati più desiderati/dettagliati. Si prega di menzionare qualsiasi domanda o domanda che hai riguardo al tutorial.