GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzo di iostat per monitorare le prestazioni del sistema in Linux (esempi inclusi)

Lo iostat Il comando viene utilizzato per monitorare il caricamento del dispositivo di input/output del sistema osservando il tempo in cui i dischi fisici sono attivi in ​​relazione alle loro velocità di trasferimento medie. Queste informazioni possono essere utilizzate per modificare la configurazione del sistema per bilanciare meglio il carico di input/output tra dischi fisici e adattatori.

Di seguito è riportato un esempio di output quando si esegue il comando iostat senza alcun argomento.

# iostat
Linux 3.10.0-514.2.2.el7.x86_64 (geeklab)     11/07/2017      _x86_64_        (128 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.36    0.00    1.07    0.24    0.00   98.32

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              17.26         8.80       242.60    3795176  104664988
sdb               0.52         5.66        36.17    2440242   15603348
sdc               0.02         0.34         0.00     147313          0
sdd               0.01         0.09         0.00      39527          0
sde               0.01         0.10         0.00      41189          0
sdf               0.01         0.09         0.00      39025          0
.....

La prima riga mostra la versione del kernel Linux, il nome host, la data corrente, l'architettura e il numero di CPU sul tuo sistema.

Il rapporto sull'utilità iostat contiene le seguenti sezioni:
– Utilizzo della CPU
– Utilizzo del dispositivo

Rapporto sull'utilizzo della CPU

Le due righe successive mostrano le statistiche della CPU. Per i sistemi multiprocessore, i valori della CPU sono medie globali tra tutti i processori. Le colonne sono definite come segue:

%utente La percentuale di CPU utilizzata durante l'esecuzione di applicazioni a livello di utente
%nice La percentuale di CPU utilizzata durante l'esecuzione a livello di utente con una buona priorità
%sistema La percentuale di CPU utilizzata durante l'esecuzione a livello di sistema (kernel)
%iowait La percentuale di tempo in cui le CPU sono rimaste inattive mentre il sistema aveva una richiesta di I/O del disco in sospeso
%steal La percentuale di tempo trascorso in attesa involontaria dalla o dalle CPU virtuali mentre l'hypervisor stava effettuando la manutenzione di un altro processore virtuale
%inattivo La percentuale di tempo in cui la CPU è stata (o le CPU erano) inattiva e il sistema non ha ricevuto una richiesta di I/O del disco in sospeso

Rapporto sull'utilizzo del dispositivo

Le righe rimanenti nell'esempio visualizzano le statistiche per dispositivo fisico o per partizione. È possibile includere dispositivi a blocchi e partizioni come argomenti del comando iostat. Se non sono inclusi argomenti, il report mostra tutti i dispositivi per i quali il kernel ha le statistiche. Le colonne sono definite come segue:

Dispositivo Nome del dispositivo o della partizione come elencato nella directory /dev
tps Numero di trasferimenti (richiesta di I/O) al secondo emessi al dispositivo
kB_read/s Quantità di dati letti dal dispositivo espressa in numero di kilobyte al secondo.
kB_wrtn/s Quantità di dati scritti sul dispositivo espressa in numero di kilobyte al secondo
kB_read Numero totale di kilobyte letti
kB_wrtn Numero totale di kilobyte scritti

È possibile includere statistiche più dettagliate fornendo diverse opzioni al comando iostat. Sono elencate alcune delle opzioni della riga di comando:

-c Visualizza il rapporto sull'utilizzo della CPU.
-d Visualizza il rapporto sull'utilizzo del dispositivo.
-m Visualizza le statistiche in megabyte al secondo.
-x Visualizza statistiche estese.

È possibile eseguire più report a intervalli diversi utilizzando argomenti intervallo e conteggio. L'esempio seguente mostra 6 rapporti a intervalli di 2 secondi per tutti i dispositivi:

# iostat –d 2 6

Esempio di comando iostat

Esempio 1 – comando iostat

Per visualizzare le statistiche della CPU e dell'utilizzo del dispositivo di input/output, utilizzare il seguente comando:

# iostat 
Linux 3.10.0-693.21.1.el7.x86_64 (jamiericho1.mylabserver.com) 	03/16/2018 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           5.90    0.00    2.60    1.76    2.87   86.87

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
xvda             68.90       947.14      1117.86     340222     401546
xvdf              2.76        55.51         0.00      19940          0

Il primo output di iostat è la somma delle informazioni dall'avvio del sistema. Non abbiamo specificato alcun intervallo per l'esecuzione del comando iostat, quindi mostrerà informazioni di riepilogo dall'avvio del sistema per impostazione predefinita.

Esempio 2 – iostat con intervallo

Per poter vedere un andamento nelle statistiche o visualizzare continuamente le statistiche a intervalli regolari, utilizzare il comando iostat con intervallo fornito. Ad esempio, per riportare le statistiche ogni 5 secondi:

# iostat 5

Puoi anche limitare il numero di volte che le statistiche devono essere generate fornendo un numero di intervalli. Ad esempio per eseguire il comando iostat a intervalli di 5 secondi con solo 3 intervalli:

# iostat 5 3

Esempio 3 – Visualizza solo le statistiche della CPU

Per visualizzare solo le statistiche della CPU del sistema, utilizzare "-c ” opzione con iostat.

# iostat -c
Linux 3.10.0-693.21.1.el7.x86_64 (jamiericho1.mylabserver.com) 	03/16/2018 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.64    0.00    1.20    0.78    1.34   94.03

Esempio 4:visualizzazione delle statistiche del disco

Un'altra opzione utile da utilizzare con iostat è "-d ” che mostra solo le statistiche del disco del sistema.

# iostat -d
Linux 3.10.0-693.21.1.el7.x86_64 (jamiericho1.mylabserver.com) 	03/16/2018 	_x86_64_	(1 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
xvda             28.82       389.03       465.87     340222     407421
xvdf              1.14        22.80         0.00      19940          0

Esempio 5 – Visualizzazione delle statistiche estese

Per visualizzare una statistica estesa con iostat, usa "-x " opzione. Ad esempio,

# iostat -x
Linux 3.10.0-693.21.1.el7.x86_64 (jamiericho1.mylabserver.com) 	03/16/2018 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.52    0.00    0.71    0.45    0.83   96.50

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
xvda              0.03     1.57   11.38    6.75   242.60   288.58    58.59     0.17    9.13    0.91   23.00   0.42   0.76
xvdf              0.00     0.00    0.70    0.00    14.10     0.00    40.16     0.00    2.84    2.84    0.00   2.15   0.15

Esempio 6 – Combinazione di varie opzioni

Puoi sempre combinare diverse opzioni dagli esempi mostrati sopra. Con questo puoi visualizzare un rapporto sull'utilizzo del disco esteso a un intervallo di 2 secondi per 3 intervalli, come mostrato nell'esempio seguente.

# iostat -xdt 2 3
Linux 3.10.0-693.21.1.el7.x86_64 (jamiericho1.mylabserver.com) 	03/16/2018 	_x86_64_	(1 CPU)

03/16/2018 04:57:55 AM
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
xvda              0.03     1.45   10.47    6.23   223.11   265.50    58.53     0.15    9.12    0.91   22.93   0.42   0.70
xvdf              0.00     0.00    0.65    0.00    12.96     0.00    40.16     0.00    2.84    2.84    0.00   2.15   0.14

03/16/2018 04:57:57 AM
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
xvda              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
xvdf              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

03/16/2018 04:57:59 AM
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
xvda              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
xvdf              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

Ecco,
-t – visualizzare il timestamp dell'intervallo

Utilizzo di vmstat per risolvere i problemi di prestazioni in Linux


Linux
  1. Come monitorare le prestazioni del sistema Linux con Sysstat

  2. 24 iostat, vmstat e mpstat Esempi per il monitoraggio delle prestazioni di Linux

  3. Utilizzo di iostat per monitorare le prestazioni del sistema in Linux (esempi inclusi)

  4. Localctl Esempi di comandi in Linux

  5. Sistema di accodamento Linux

Come monitorare l'uptime del sistema Linux utilizzando Uptimed

Come monitorare le prestazioni di Linux utilizzando lo strumento systat

comando iostat in Linux

Risolvi i problemi e monitora le prestazioni del sistema Linux con nmon

Come monitorare le metriche di sistema in tempo reale utilizzando lo strumento Sguardi su Linux

Esempi di comandi iostat in Linux