Come usare il comando iostat in Linux

Come usare il comando iostat in Linux

Per valutare le prestazioni dei dispositivi I/O, viene calcolata la loro efficienza rispetto al tempo. In Linux, utilizziamo il comando iostat per scoprire il suo utilizzo di CPU e altri dispositivi di input/output connessi rispetto al tempo. Sulla base di questi report, le configurazioni dei dispositivi I/O possono essere modificate per ottimizzare il carico sulla CPU.

Il comando iostat è utile per monitorare la CPU e altri dispositivi I/O collegati ad esso, in questo articolo, scopriremo di più sul comando iostat.

Installazione del comando iostat in Linux

Il comando IOSTAT non è preinstallato nelle distribuzioni Linux ma viene fornito con il pacchetto predefinito, pertanto può essere installato in Linux utilizzando il gestore dei pacchetti della distribuzione specifica. Per installare il comando iostat su redhat/centos/fedora, utilizzare il comando:

$ yum Installa Sysstat

Mentre su Ubuntu/Debian/LinuxMint Distribuzioni di Linux, può essere installato utilizzando il comando:

$ sudo apt install sysstat

Utilizzo del comando iostat in Linux

Il comando iostat è semplice e può essere eseguito nel terminale di Linux per visualizzare il rapporto di monitoraggio:

$ iostat

Nell'output sopra, possiamo vedere che il rapporto è diviso in due parti; Rapporto di utilizzo della CPU e rapporto di utilizzo dei dispositivi.

Rapporto di utilizzo della CPU: Il rapporto di utilizzo della CPU sta visualizzando le prestazioni della CPU con parametri diversi, la spiegazione di questi parametri è:

Parametro Spiegazione
%utente L'uso della CPU è visualizzato in %
%Carino Mostra l'utilizzo della CPU in percentuale a livello dell'utente quando viene utilizzato con il comando "Bella priorità"
%sistema Mostra l'uso della CPU in percentuale a livello di sistema che è anche noto come livello del kernel
%IOWAIT È il tempo (tempo in %) in cui la CPU era inerte e il sistema (kernel) ottiene la richiesta di dispositivi I/O
%rubare Mostra il tempo in percentuale in cui la CPU virtuale ha attesa involontariamente perché l'hypervisor è stato assistito da qualsiasi altro processore
%oziare È il tempo (tempo in %) in cui la CPU era inerte e il sistema (kernel) ottiene la richiesta NO I/O Devices

Rapporto di utilizzo dei dispositivi: Il rapporto di utilizzo dei dispositivi visualizza le prestazioni dei dispositivi I/O sulla base dei seguenti parametri:

Parametri Spiegazione
Dispositivo Mostra il nome del dispositivo I/O il cui rapporto viene visualizzato
tps Mostra i trasferimenti al secondo (TPS), in cui un trasferimento è una richiesta effettuata dai dispositivi I/O alla CPU e superiore a TPS significa che la CPU è più impegnata
kb_read/s Visualizza la quantità di dati letti dalla CPU al secondo, questo può essere in diverse unità in kilobyte (KB) o megabyte (MB) a seconda delle dimensioni
kb_wrtn/s Visualizza la quantità di dati scritti dalla CPU al secondo, simile a KB_Read/s, questo può essere in unità diverse in kilobyte (KB) o megabyte (MB) a seconda delle dimensioni
kb_dscd/s Visualizza il tasso di dati scartati dalla CPU al secondo, simile a KB_Read/s, questo può essere in diverse unità in kilobyte (KB) o megabyte (MB) a seconda delle dimensioni
kb_read Visualizza il numero totale di blocchi o la quantità di dati letti dalla CPU
kb_wrtn Visualizza il numero totale di blocchi o la quantità di dati scritti dalla CPU

Iostat raccoglie tutti questi dati della CPU e dei dispositivi I/O dalle seguenti directory:

/proc/stat: Contiene i dettagli delle statistiche del sistema

/Proc/Uptime: Il tempo di uptime del sistema viene estratto da qui

/Proc/Diskstats: Le statistiche dei dischi sono estratte da qui

/sys: Contiene le statistiche per i dispositivi a blocchi (dispositivi con dimensioni fisse come harddisk)

/proc/self/mountstats: Contiene i dati per i filesystem di rete

/dev/disco: I nomi dei dispositivi persistenti collegati al sistema vengono estratti da qui

La sintassi generale del comando iostat

La sintassi generale dell'uso del comando iostat in Linux è:

$ iostat [opzione] [Dispositivo-nome]

Per visualizzare il rapporto di riassunto dei dispositivi CPU e I/O

Se viene eseguito solo il comando "iostat", visualizzerà il rapporto riassunto di entrambi; CPU e dispositivi I/O, ma può anche essere utilizzato con diverse opzioni, che visualizzerà il riepilogo dettagliato del dispositivo specifico. Ad esempio, se vogliamo visualizzare il rapporto di utilizzo della CPU, useremo il flag "-c" con il comando iostat:

$ iostat -c

Per visualizzare solo il rapporto sui dispositivi I/O

Allo stesso modo, possiamo visualizzare solo il rapporto sui dispositivi I/O utilizzando il flag "-D":

$ iostat -d

Si può notare dall'output, i dettagli dei dispositivi sono stati visualizzati.

Per visualizzare il rapporto dettagliato

Possiamo usare il “-X"Flag che viene utilizzato per visualizzare il rapporto dettagliato:

$ iostat -x

Nell'output sopra, vengono visualizzati alcuni nuovi parametri, la spiegazione di parametri importanti è menzionata nella tabella seguente:

Parametri Spiegazione
r/s Il numero totale delle richieste di lettura completate al secondo
rrqm/s Il numero totale delle richieste di lettura si sono unite al secondo che sono in fila nel sistema
wrqm/s Il numero totale delle richieste di scrittura si sono unite al secondo che sono in fila nel sistema
r_await È il tempo medio trascorso dalle richieste di lettura dei dispositivi dall'attesa in coda alla richiesta di tempo accettata dal sistema
w_await È il tempo medio trascorso dalle richieste di scrittura dei dispositivi dall'attesa in coda alla richiesta di tempo accettata dal sistema
w/s Il numero totale delle richieste di scrittura completate al secondo
%util La durata del tempo della CPU in cui sono state presentate le richieste dei dispositivi I/O

Per visualizzare il rapporto utilizzando diverse unità

Opzioni "-K" E "-M"Sono usati per visualizzare i risultati Kilobyte e megabyte, Per capirlo, useremo il "-M"Flag per convertire i nostri risultati (che sono in KB) in megabyte:

$ iostat -m

Per visualizzare il report dei dispositivi a blocchi

Per ottenere il rapporto di monitoraggio dei dispositivi di blocco, viene utilizzato il flag "-P":

$ iostat -p
$ iostat -pdm

Nel comando sopra, abbiamo usato tre flag "-P", "-d" e "-m" Complessivamente per ottenere i dettagli dei dispositivi di blocco in Megabytes.

Per visualizzare il rapporto in formato leggibile dall'uomo e JSON

Possiamo anche visualizzare questo rapporto nel formato leggibile dall'uomo usando "-h":

$ iostat -h


O in formato JSON usando il "-o json" opzione:

$ iostat -o json

Conclusione

Il comando iostat viene utilizzato in Linux per monitorare le prestazioni della CPU e dei dispositivi I/O, che è utile per distribuire il carico su diversi dispositivi di archiviazione per ottenere la massima efficienza dalla CPU. In questo articolo, abbiamo spiegato l'installazione del comando iostat e anche i parametri del report generato dal comando iostat. Il comando iostat può anche essere usato con flag diversi; Vengono anche discusse le flag importanti e più utilizzate.