GNU/Linux >> Linux Esercitazione >  >> Linux

10 Linux iostat Comando per segnalare la CPU e le statistiche di I/O

Il comando Iostat viene utilizzato per monitorare il carico del dispositivo di input/output (I/O) del sistema osservando il tempo in cui i dispositivi sono attivi in ​​relazione alle loro velocità di trasferimento medie. Iostat crea report che possono essere utilizzati per modificare la configurazione del sistema per bilanciare meglio l'input/output tra i dischi fisici.

Iostat è incluso in sysstat pacchetto. Iostat è installato per impostazione predefinita nella maggior parte delle distribuzioni Linux.

Se non lo hai, devi prima installarlo.

Su RedHat / CentOS / Fedora

$ yum install sysstat

Su Debian / Ubuntu / Linux Mint

$ apt-get install sysstat

Quando il comando viene eseguito senza argomenti, genera un rapporto dettagliato contenente informazioni da quando il sistema è stato avviato . Puoi fornire due parametri facoltativi per modificarlo:

iostat [option] [interval] [count]
  • intervallo il parametro specifica la durata in secondi tra ogni rapporto
  • Conte consente di specificare il numero di report generati prima della chiusura di iostat.

Quando il comando viene eseguito per la prima volta con questi argomenti, il primo report contiene informazioni dall'avvio del sistema, mentre ogni report successivo copre il periodo di tempo da quando è stato generato l'ultimo rapporto.

$ iostat 2 3
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 	05/23/2017 	_x86_64_  (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.65    0.00    0.18    0.02    0.00   99.15

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               0.88         4.29         7.07     217829     358600

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.01    0.00    0.50    0.00    0.00   98.49

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               0.50         0.00         2.01          0          4

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3.00    0.00    0.50    0.00    0.00   96.50

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               1.00         0.00        30.00          0         60

1. Ottieni report e statistiche

iostat per impostazione predefinita senza alcuna opzione visualizza il rapporto statistico composto da CPU e dispositivi.

$ iostat

Uscita:

Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 	05/22/2017 	_x86_64   (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.69    0.00    0.19    0.02    0.04   99.08

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               1.00         3.40        14.08    1552428    6423128

La prima sezione contiene il rapporto CPU

  • %utente : percentuale di utilizzo della CPU che si è verificata durante l'esecuzione a livello di utente (applicazione)
  • %bello : percentuale di utilizzo della CPU che si è verificata durante l'esecuzione a livello di utente con una buona priorità
  • %sistema : percentuale di utilizzo della CPU che si è verificata durante l'esecuzione a livello di sistema (kernel)
  • %iowait : percentuale di tempo in cui la CPU o le CPU sono rimaste inattive durante le quali il sistema ha ricevuto una richiesta di I/O del disco in sospeso
  • %steal : percentuale di tempo trascorso in attesa involontaria dalla o dalle CPU virtuali mentre l'hypervisor stava effettuando la manutenzione di un altro processore virtuale
  • %idle : percentuale di tempo in cui la CPU o le CPU sono rimaste inattive e il sistema non ha ricevuto una richiesta di I/O del disco in sospeso

La seconda sezione contiene il rapporto sull'utilizzo del dispositivo

  • Dispositivo : nome del dispositivo/partizione come elencato in /dev directory
  • tps : numero di trasferimenti al secondo emessi al dispositivo. Tps più alti significano che il processore è più occupato
  • Blk_read/s : mostra la quantità di dati letti dal dispositivo espressa in un numero di blocchi (kilobyte, megabyte) al secondo
  • Blk_wrtn/s : quantità di dati scritti sul dispositivo espressa in un numero di blocchi (kilobyte, megabyte) al secondo
  • Blk_read : mostra il numero totale di blocchi letti
  • Blk_wrtn : mostra il numero totale di blocchi scritti

iostat utilizza i seguenti file per creare rapporti:

  • /proc/stat contiene statistiche di sistema.
  • /proc/uptime contiene il tempo di attività del sistema.
  • /proc/diskstats contiene le statistiche dei dischi.
  • /sys contiene le statistiche per i dispositivi a blocchi.
  • /proc/self/mountstats contiene le statistiche per i filesystem di rete.
  • /dev/disk contiene nomi di dispositivi persistenti.

2. Mostra maggiori dettagli sulle statistiche

Il comando Iostat fornisce report sull'utilizzo dei dispositivi I/O. È possibile estendere il risultato statistico per una diagnosi approfondita con l'opzione -x .

$ iostat -x

Uscita:

Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 	05/23/2017 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.69    0.00    0.19    0.02    0.04   99.06

Device: rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda     0.01     1.10    0.16    0.84     3.37    14.04    34.88     0.00    2.35    1.41    2.53   0.40   0.04
  • cpu medio: sono le informazioni sul blocco della CPU
  • Disponi: sono informazioni sul blocco del dispositivo. Per essere sicuro di utilizzare un buon dispositivo
  • %util :per quanto tempo il dispositivo di archiviazione ha lavorato in sospeso (era occupato).
  • svctm :indica la velocità con cui il tuo sottosistema I/O risponde alle richieste in generale quando è occupato. In realtà, meno carichi il tuo sistema, maggiore è svctm.
  • aspetta :indica la velocità di elaborazione delle richieste. È solo una media.
  • media-sz :quante richieste ci sono in una coda di richieste. Basso =il sistema non è caricato oppure ha I/O serializzato e non può utilizzare correttamente lo storage sottostante. Alto =il tuo stack software è sufficientemente scalabile per caricare correttamente l'I/O sottostante.
  • avgrq-sz :Solo una dimensione media della richiesta. può indicare che tipo di carico di lavoro si verifica.
  • wsec/s &rsec/s :Settori letti e scritti al secondo. Dividi per 2048 e otterrai megabyte al secondo.
  • r/s &con/s :Leggi e scrivi richieste al secondo. Questi numeri sono quelli che rappresentano la capacità di I/O, anche se ovviamente, a seconda di quanta pressione subisce il sottosistema di I/O sottostante (dimensione della coda!), possono variare.
  • rrqm/s &wrqm/s :quante richieste sono state unite per livello di blocco.

3. Mostra solo la statistica della cpu

È possibile mostrare informazioni statistiche e report della nostra cpu con -c opzione

$ iostat -c

Uscita:

Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          12.93    0.08    2.40    3.35    0.00   81.24

4. Visualizza solo il rapporto del dispositivo

È possibile visualizzare lo stato di utilizzo del dispositivo solo con -d opzione. Elencherà le informazioni per ogni dispositivo connesso.

$ iostat -d

Uscita:

Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              17.73       510.80       632.10    5127420    6345037
mmcblk0           0.03         0.63         0.00       6282          0

5. Mostra statistiche I/O estese solo per il dispositivo

Possiamo visualizzare statistiche estese su un lato e dall'altro lato possiamo visualizzare statistiche estese. Significa che possiamo visualizzare statistiche estese solo per i dispositivi con l'opzione -xd .

$ iostat -xd

Uscita:

$ iostat -xd
Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.48    25.33    8.43    7.81   417.06   540.42   117.88     1.18   72.83   35.98  112.62   6.18  10.03
mmcblk0           0.30     0.00    0.02    0.00     0.49     0.00    49.47     0.00    3.73    3.73    4.00   2.99   0.01

6. Acquisisci le statistiche in kilobyte o megabyte

Per impostazione predefinita, iostat misura il sistema I/O con unità di byte. Per semplificare la lettura, possiamo convertire iostat per mostrarci i rapporti in kilobyte o megabyte.

Aggiungi semplicemente l'opzione -k per creare report con unità kilobyte.

$ iostat -k

Uscita:

Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          12.54    0.08    2.37    3.41    0.00   81.61

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              16.18       345.76       504.55    5622164    8204113
mmcblk0           0.02         0.39         0.00       6282          0

L'opzione -m per creare report con unità di megabyte.

$ iostat -m
Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          12.54    0.08    2.37    3.41    0.00   81.61

Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda              16.18         0.34         0.49       5490       8012
mmcblk0           0.02         0.00         0.00          6          0

7. Visualizza le statistiche della CPU e del dispositivo con ritardo

Lo stesso con vmstat, come strumento statistico il modo migliore per usarlo è con il parametro delay. Con il ritardo, possiamo vedere qual è la tendenza. Ecco alcuni esempi per eseguire iostat con ritardo.

Esegui iostat con unità kilobyte, intervallo di 2 secondi con rapporti 3 volte.

$ iostat -k 2 3

Uscita:

Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 	05/23/2017 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.70    0.00    0.19    0.02    0.03   99.05

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               1.00         3.33        14.03    1561788    6572152

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.50    0.00    0.00    0.00    0.00   99.50

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               0.00         0.00         0.00          0          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3.52    0.00    0.50    0.00    0.00   95.98

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               1.51         0.00        12.06          0         24

Per mostrare il rapporto solo CPU con 2 secondi di intervallo e 2 rapporti, digita:

$ iostat -c 2 2
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 	05/23/2017 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.71    0.00    0.19    0.02    0.03   99.05

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.50    0.00    0.00    0.00    0.00   98.50

Per mostrare i rapporti solo per dispositivi sda6 e sda7 con intervalli di 2 secondi e rapporti 2 volte, esegui:

$ iostat -d sda7 sda6 2 2

Uscita:


Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda6              3.40       108.29       130.75    1928577    2328496
sda7             12.19       211.96       305.79    3774804    5445696

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda6              0.00         0.00         0.00          0          0
sda7              1.00         0.00        24.00          0         48

8. Visualizza statistiche persistenti sui nomi dei dispositivi

È possibile stampare il report per nome dispositivo. Invece dello standard /dev/sda name, stamperà il nome del dispositivo persistente utilizzando l'opzione -j e aggiungendo ID parola chiave (specificare il tipo del nome persistente).

$ iostat -j ID mmcbkl0 sda6 -x -m 2 2 

Uscita:

Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          14.33    0.10    2.48    3.26    0.00   79.83

Device:  rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
ata-ST500LT012-1DG142_S3P4312X-part6
         0.19     0.88    2.51    0.82     0.10     0.12   138.36     0.21   61.81   57.12   76.12  10.81   3.60

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          19.40    0.00    1.25    0.63    0.00   78.72

Device:  rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
ata-ST500LT012-1DG142_S3P4312X-part6
         0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

9. Visualizza  statistiche  per  dispositivi a blocchi

È possibile visualizzare direttamente le informazioni per ogni dispositivo a blocchi automaticamente. Non è necessario indicare il nome di ciascun dispositivo. Visualizzerà le statistiche per i dispositivi a blocchi e tutte le loro partizioni utilizzate dal sistema. Se viene immesso il nome di un dispositivo sulla riga di comando, vengono visualizzate le statistiche relative a esso e a tutte le sue partizioni. Usa semplicemente -p opzione

$ iostat -p

Uscita:

Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          14.93    0.10    2.51    3.19    0.00   79.28

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              15.82       297.18       474.87    5928512    9473117
sda1              0.00         0.11         0.00       2108          0
sda2              0.01         0.28         0.00       5679          1
sda3              0.00         0.10         0.00       2084          0
sda4              0.00         0.10         0.00       2092          0
sda5              0.09         0.77        45.62      15428     910068
sda6              3.26       102.76       117.09    2049957    2335908
sda7             12.09       192.75       306.99    3845120    6124136
sda8              0.12         0.20         5.16       3896     103004
mmcblk0           0.01         0.31         0.00       6282          0
mmcblk0p1         0.01         0.26         0.00       5242          0
$ iostat -p sdf 1 2
Linux 3.10.0-514.16.1.el7.x86_64 (centos7-srv) 	05/23/2017 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           7.18    0.41    3.94    4.10    0.00   84.37

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sdf               0.47         3.54         0.00       4656          0
sdf1              0.09         0.70         0.00        920          0
sdf2              0.09         0.69         0.00        904          0
sdf3              0.09         0.69         0.00        904          0
sdf4              0.09         0.69         0.00        904          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           6.00    1.00    2.00    0.00    0.00   91.00

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sdf               0.00         0.00         0.00          0          0
sdf1              0.00         0.00         0.00          0          0
sdf2              0.00         0.00         0.00          0          0
sdf3              0.00         0.00         0.00          0          0
sdf4              0.00         0.00         0.00          0          0

10. Visualizza le informazioni sulle statistiche lvm2

È possibile visualizzare le statistiche LVM utilizzando l'opzione -N . Il comando visualizza i nomi dei device mapper registrati per qualsiasi dispositivo device mapper.

$ iostat -N

Conclusione

Possiamo dire a iostat di omettere l'output per tutti i dispositivi per i quali non c'è stata attività durante il periodo di campionamento con -z opzione.

Uno dei vantaggi di questo strumento è che puoi eseguirli senza privilegi di root. Puoi scavare più a fondo esplorando la pagina di manuale di iostat digitando man iostat nella tua console per portare la pagina di manuale di iostat.

Leggi anche:

  • Come monitorare le prestazioni di Linux utilizzando il comando Sar
  • 14 strumenti da riga di comando per controllare l'utilizzo della CPU in Linux

Linux
  1. Comando Linux Cat:utilizzo ed esempi

  2. Comandi Linux - Panoramica ed esempi

  3. Comando Linux mpstat - Statistiche relative ai processori di report

  4. Report di I/O dalla riga di comando di Linux

  5. swapon e swapoff Esempi di comandi in Linux

comando iostat in Linux

Come controllare le informazioni sulla CPU in Linux

Come installare e utilizzare il comando fd in Linux

Opzioni di comando ed esempi di Tee Command in Linux

Una guida al comando vmstat in Linux

Esempi di comandi iostat in Linux