Che cos’è iotop? Come monitorare l’attività di I/O su linux
Utilizzare questo comando per visualizzare le informazioni sull’utilizzo di I/O emesse dal kernel Linux. Visualizza una tabella dell’attuale utilizzo di I/O da parte di processi o thread Linux sul sistema Linux. Sai quali strumenti vengono utilizzati per risolvere o monitorare i problemi di prestazioni di I / O del disco in tempo reale su Linux? Generalmente, il comando TOP verrà utilizzato per visualizzare prestazione del sistema, quando le prestazioni di un’applicazione sono lente. Questo è il primo livello di risoluzione dei problemi ampiamente eseguito dall’amministratore Linux nel mondo reale. Iotop è progettato in Python e necessita di moduli del kernel per la sua esecuzione. Viene utilizzato dagli amministratori di sistema per tracciare il processo specifico che potrebbe causare un’elevata lettura/scrittura di I/O su disco.
Richiede un interprete Python per la sua esecuzione. Produce un output simile a quello del comando top. In genere richiede i privilegi di root per la sua esecuzione.
Se non si riscontrano problemi di prestazioni rispetto all’utilizzo delle risorse, in particolare con CPU e memoria, verranno scelti altri campi per identificare dove il sistema si affoga.
Consiglierei di controllare il wa
campo nell’output del comando in alto per capire se sono presenti operazioni di lettura e scrittura di I/O elevate sui dispositivi di archiviazione e sulle partizioni (come unità disco rigido, SSD e partizioni del disco).
Il degrado delle prestazioni del server potrebbe verificarsi a causa dell’elevata operazione di I/O in lettura e scrittura del disco sui dispositivi e sulle partizioni di archiviazione, indipendentemente dall’utilizzo della CPU e della memoria nel sistema.
Se l’operazione di I/O del disco è elevata o fluttuante, potrebbe essere una possibile causa di ritardo delle prestazioni per cui è necessario verificare le statistiche di I/O del disco sul sistema.
Per derivare e verificare in dettaglio le Statistiche di I/O, iotop
e iostat
saranno usati prevalentemente questi comandi. Questi comandi sono ampiamente utilizzati per identificare i problemi di prestazioni con i dispositivi di archiviazione, inclusi i dischi locali o il file system di rete.
Che cos’è iotop?
iotop è simile all’utilità di comando TOP, per la visualizzazione dell’attività del disco in tempo reale.
iotop osserva le informazioni sull’utilizzo di I/O dal kernel Linux e visualizza una tabella dell’utilizzo corrente di I/O attraverso processi o thread nel sistema.
Visualizza la larghezza di banda I/O letta e scritta da ciascun processo/thread. Visualizza anche la percentuale di tempo che il thread/processo ha trascorso durante lo scambio o l’attesa dell’I/O.
I valori Total DISK READ e Total DISK WRITE rappresentano la larghezza di banda di lettura e scrittura totale tra i processi e i thread del kernel su un lato e il sottosistema del dispositivo di blocco del kernel sull’altro.
I valori Actual DISK READ e Actual DISK WRITE rappresentano le larghezze di banda corrispondenti per l’I/O del disco effettivo tra il sottosistema del dispositivo a blocchi del kernel e l’hardware sottostante (HDD, SSD, ecc.).
Installazione iotop su Linux
Possiamo installarlo facilmente con l’aiuto di un gestore di pacchetti poiché il pacchetto è disponibile in tutti i repository delle distribuzioni Linux.
Per Fedora e RHEL/CentOS 8 sistema, utilizzare il Comando DNF per installare iotop.
$ sudo dnf install iotop
Per Debian/Ubuntu sistemi, utilizzare il Comando APT-GET O Comando APT per installare iotop.
$ sudo apt install iotop
Per ArcoLinux sistemi basati, utilizzare il Comando Pacman per installare iotop.
$ sudo pacman -S iotop
Per RHEL/CentOS 6/7 sistemi, utilizzare il Comando YUM per installare iotop.
$ sudo yum install iotop
Per openSUSE Salto sistema, utilizzare il Comando Zypper per installare iotop.
$ sudo zypper install iotop
Monitoraggio dell’attività I/O del disco utilizzando il comando iotop
Molte opzioni sono disponibili nel comando iotop per controllare le varie statistiche sull’I/O del disco.
Esegui il comando iotop senza argomenti, per visualizzare ogni processo o thread sull’utilizzo corrente di I/O.
# iotop
Per verificare quali processi stanno effettivamente utilizzando l’IO del disco, eseguire il comando iotop con -o O -soltanto possibilità di visualizzarlo.
# iotop --only
IO:
Mostra l’utilizzo di input/output di ciascun processo, inclusi disco e swap.SWAPIN:
Mostra solo l’utilizzo dello swap di ciascun processo.
Che cos’è iostat?
Iostat viene utilizzato per riportare le statistiche dell’unità di elaborazione centrale (CPU) e le statistiche di input/output per dispositivi e partizioni. Il comando iostat viene utilizzato per monitorare il caricamento del dispositivo di input/output del sistema osservando il tempo in cui i dispositivi sono attivi in relazione alle loro velocità di trasferimento medie.
Il comando iostat genera report che possono essere utilizzati per modificare la configurazione del sistema per bilanciare meglio il carico di input/output tra i dischi fisici.
Tutte le statistiche vengono riportate quando il comando iostat viene eseguito ogni volta. Sui sistemi multiprocessore, le statistiche della CPU vengono calcolate a livello di sistema come media tra tutti i processori.
Il comando iostat genera due tipi di report,
- Rapporto sull’utilizzo della CPU.
- Rapporto sull’utilizzo del dispositivo.
Come installare iostat su Linux?
Lo strumento iostat fa parte del pacchetto sysstat che può essere installato dal repository ufficiale delle distribuzioni Linux.
Fedora e CentOS/RHEL 8
$ sudo dnf install sysstat
Debian/Ubuntu
$ sudo apt install sysstat
ArcoLinux
$ sudo pacman -S sysstat
RHEL/CentOS 6/7
$ sudo yum install sysstat
OpenSUSE
$ sudo zypper install sysstat
Misurazione delle prestazioni di I/O su disco con il comando sysstat
Molte opzioni sono disponibili nel comando iostat per controllare le varie statistiche sull’I/O del disco e sulla CPU. Eseguire il comando iostat senza argomenti per visualizzare le statistiche complete del sistema.
# iostat
Esegui il comando iostat con -d
opzione, per visualizzare le statistiche di I/O di tutti i dispositivi.
# iostat -d
Esegui il comando iostat con -p
opzione, per vedere le statistiche di I/O di tutti i dispositivi e le loro partizioni.
# iostat -p
Esegui il comando iostat con -x
opzione, per visualizzare le statistiche dettagliate di I/O di tutti i dispositivi.
# iostat -x
Esegui il comando iostat con -d [Device_Name]
opzione, per visualizzare le statistiche di I/O di un particolare dispositivo e le relative partizioni.
# iostat -p [Device_Name] # iostat -p sda
Esegui il comando iostat con -m
opzione, per visualizzare le statistiche di I/O con MB
per tutti i dispositivi invece di KB
.
Per impostazione predefinita, mostra l’output in KB.
# iostat -m
Esegui il comando iostat a un determinato intervallo, utilizzando il formato seguente. In questo esempio, verranno acquisiti in totale due report a intervalli di cinque secondi.
# iostat [Interval] [Number Of Reports]
# iostat 5 2
Esegui il comando iostat con -N opzione, per visualizzare il rapporto sulle statistiche di I/O del disco LVM.
# iostat -N
Eseguire il comando nfsiostat per visualizzare le statistiche I/O per Network File System (NFS).
# nfsiostat
Questo articolo fornisce informazioni sulla risoluzione dei problemi relativi alle prestazioni del disco utilizzando i comandi iostat e iotop, oltre al normale utilizzo del comando top.