GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso monitorare il carico del disco rigido su Linux?

Soluzione 1:

Puoi ottenere una buona misura di questo usando il iostat strumento.

% iostat -dx /dev/sda 5

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.78    11.03    1.19    2.82    72.98   111.07    45.80     0.13   32.78   1.60   0.64

L'utilizzo del disco è elencato nell'ultima colonna. Questo è definito come

Percentuale di tempo della CPU durante il quale le richieste di I/O sono state inviate al dispositivo (utilizzo della larghezza di banda per il dispositivo). La saturazione del dispositivo si verifica quando questo valore è vicino al 100%.

Soluzione 2:

iotop è una versione di top che esamina la quantità di IO utilizzata da ciascun processo. È nei repository Ubuntu standard; Non so se è in RHEL o Fedora, ma dovrebbe esserlo.

Per i kernel più vecchi (diciamo CentOS 5.x o RHEL 5.x) che non supportano iotop, usa invece topio (documentato qui:http://yong321.freeshell.org/freeware/pio.html#linux. Si basa su / proc//io per le statistiche io e fornisce funzionalità simili a iotop. Vedere il collegamento per ulteriori dettagli.

Soluzione 3:

Come suggerito da sastanin nei commenti, puoi elaborare direttamente i valori forniti in /sys/block/sda/stat o /proc/diskstats . Questo può essere utile quando nessuno degli altri strumenti menzionati è disponibile e non puoi installarli facilmente.

Ad esempio (IIUC) qualcosa di simile (in bash) dovrebbe fornire il numero di letture al secondo :

OLD=`awk '{print $1}' /sys/block/sda/stat` # First field is number of read I/Os processed
DT=1
for ii in `seq 1 10`
do
    sleep $DT
    NEW=`awk '{print $1}' /sys/block/sda/stat`
    echo $((($NEW-$OLD)/$DT))
    OLD=$NEW
done

Vedi https://www.kernel.org/doc/Documentation/iostats.txt e https://www.kernel.org/doc/Documentation/block/stat.txt per la documentazione.

Soluzione 4:

Dovresti dare un'occhiata a top, che combina la potenza di iotop/top/iftop, tutto in un unico posto, ed evidenzia le parti critiche del tuo sistema.

Soluzione 5:

Consiglierei di dare un'occhiata allo strumento nmon. Ti mostrerà il carico in tempo reale su una serie di parametri di sistema e la registrazione dei dati su un file per una successiva lettura. È uno strumento gratuito disponibile qui:


Linux
  1. Come installare un driver di dispositivo su Linux

  2. Come partizionare un disco in Linux

  3. Linux:come impostare il mirroring del disco (raid-1)?

  4. Come creare un dispositivo di scheda audio fittizio nel server Linux?

  5. Linux - Come posso vedere cosa sta aspettando l'IO del disco

Come trovare i dettagli del disco rigido in Linux

Come elencare le partizioni del disco in Linux

Come trovare la velocità di trasferimento dei dati del disco rigido in Linux

Come controllare i blocchi danneggiati o i settori danneggiati sul disco rigido in Linux

Come crittografare la partizione su Linux

In che modo Linux carica l'immagine "initrd"?