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.