Welche Verfahren wird mit all meiner Scheibe IO
-
20-08-2019 - |
Frage
Wenn ich „top“ ich kann sehen, welche CPU beschäftigt ist und welcher Prozess alle meine CPU verwendet wird.
Wenn ich „iostat -x“ kann ich sehen, was Laufwerk belegt ist.
Aber wie sehe ich, was Prozess alle Antriebs Durchsatz verwendet?
Lösung
Sie suchen nach iotop
(vorausgesetzt, Sie kernel> 2.6.20 und Python 2.5 haben). Gelingt das nicht, Sie suchen in in das Dateisystem Einhaken. Ich empfehle die ehemalige.
Andere Tipps
Um herauszufinden, welche im Zustand verarbeitet ‚D‘ (für Disk-Antwort zu warten) werden derzeit ausgeführt wird:
while true; do date; ps aux | awk '{if($8=="D") print $0;}'; sleep 1; done
oder
watch -n1 -d "ps axu | awk '{if (\$8==\"D\") {print \$0}}'"
Wed Aug 29 13:00:46 CLT 2012
root 321 0.0 0.0 0 0 ? D May28 4:25 \_ [jbd2/dm-0-8]
Wed Aug 29 13:00:47 CLT 2012
Wed Aug 29 13:00:48 CLT 2012
Wed Aug 29 13:00:49 CLT 2012
Wed Aug 29 13:00:50 CLT 2012
root 321 0.0 0.0 0 0 ? D May28 4:25 \_ [jbd2/dm-0-8]
Wed Aug 29 13:00:51 CLT 2012
Wed Aug 29 13:00:52 CLT 2012
Wed Aug 29 13:00:53 CLT 2012
Wed Aug 29 13:00:55 CLT 2012
Wed Aug 29 13:00:56 CLT 2012
root 321 0.0 0.0 0 0 ? D May28 4:25 \_ [jbd2/dm-0-8]
Wed Aug 29 13:00:57 CLT 2012
root 302 0.0 0.0 0 0 ? D May28 3:07 \_ [kdmflush]
root 321 0.0 0.0 0 0 ? D May28 4:25 \_ [jbd2/dm-0-8]
Wed Aug 29 13:00:58 CLT 2012
root 302 0.0 0.0 0 0 ? D May28 3:07 \_ [kdmflush]
root 321 0.0 0.0 0 0 ? D May28 4:25 \_ [jbd2/dm-0-8]
Wed Aug 29 13:00:59 CLT 2012
root 302 0.0 0.0 0 0 ? D May28 3:07 \_ [kdmflush]
root 321 0.0 0.0 0 0 ? D May28 4:25 \_ [jbd2/dm-0-8]
Wed Aug 29 13:01:00 CLT 2012
root 302 0.0 0.0 0 0 ? D May28 3:07 \_ [kdmflush]
root 321 0.0 0.0 0 0 ? D May28 4:25 \_ [jbd2/dm-0-8]
Wed Aug 29 13:01:01 CLT 2012
root 302 0.0 0.0 0 0 ? D May28 3:07 \_ [kdmflush]
root 321 0.0 0.0 0 0 ? D May28 4:25 \_ [jbd2/dm-0-8]
Wed Aug 29 13:01:02 CLT 2012
Wed Aug 29 13:01:03 CLT 2012
root 321 0.0 0.0 0 0 ? D May28 4:25 \_ [jbd2/dm-0-8]
Wie Sie aus dem Ergebnis sehen können, die jdb2 / dm-0-8 (ext4 Zeitschrift Prozess) und kdmflush sind Ihre Linux ständig blockieren.
Für weitere Details dieser URL könnte hilfreich sein: Linux Wait-IO Problem
oben auf auch gut funktioniert und lässt sich leicht installieren auch auf älteren CentOS 5.x-Systeme, die iotop nicht ausführen können . Hit d
zu zeigen Platten Details, ?
um Hilfe.
ATOP - mybox 2014/09/08 15:26:00 ------ 10s elapsed
PRC | sys 0.33s | user 1.08s | | #proc 161 | #zombie 0 | clones 31 | | #exit 16 |
CPU | sys 4% | user 11% | irq 0% | idle 306% | wait 79% | | steal 1% | guest 0% |
cpu | sys 2% | user 8% | irq 0% | idle 11% | cpu000 w 78% | | steal 0% | guest 0% |
cpu | sys 1% | user 1% | irq 0% | idle 98% | cpu001 w 0% | | steal 0% | guest 0% |
cpu | sys 1% | user 1% | irq 0% | idle 99% | cpu003 w 0% | | steal 0% | guest 0% |
cpu | sys 0% | user 1% | irq 0% | idle 99% | cpu002 w 0% | | steal 0% | guest 0% |
CPL | avg1 2.09 | avg5 2.09 | avg15 2.09 | | csw 54184 | intr 33581 | | numcpu 4 |
MEM | tot 8.0G | free 81.9M | cache 2.9G | dirty 0.8M | buff 174.7M | slab 305.0M | | |
SWP | tot 2.0G | free 2.0G | | | | | vmcom 8.4G | vmlim 6.0G |
LVM | Group00-root | busy 85% | read 0 | write 30658 | KiB/w 4 | MBr/s 0.00 | MBw/s 11.98 | avio 0.28 ms |
DSK | xvdb | busy 85% | read 0 | write 23706 | KiB/w 5 | MBr/s 0.00 | MBw/s 11.97 | avio 0.36 ms |
NET | transport | tcpi 2705 | tcpo 2008 | udpi 36 | udpo 43 | tcpao 14 | tcppo 45 | tcprs 1 |
NET | network | ipi 2788 | ipo 2072 | ipfrw 0 | deliv 2768 | | icmpi 7 | icmpo 20 |
NET | eth0 ---- | pcki 2344 | pcko 1623 | si 1455 Kbps | so 781 Kbps | erri 0 | erro 0 | drpo 0 |
NET | lo ---- | pcki 423 | pcko 423 | si 88 Kbps | so 88 Kbps | erri 0 | erro 0 | drpo 0 |
NET | eth1 ---- | pcki 22 | pcko 26 | si 3 Kbps | so 5 Kbps | erri 0 | erro 0 | drpo 0 |
PID RDDSK WRDSK WCANCL DSK CMD 1/1
9862 0K 53124K 0K 98% java
358 0K 636K 0K 1% jbd2/dm-0-8
13893 0K 192K 72K 0% java
1699 0K 60K 0K 0% syslogd
4668 0K 24K 0K 0% zabbix_agentd
Dies zeigt deutlich, java pid 9862 ist der Schuldige.
TL; DR
Wenn Sie iotop
verwenden können, tun dies. Else könnte dies helfen.
Verwenden top
, dann diese Verknüpfungen verwenden:
d 1 = set refresh time from 3 to 1 second
1 = show stats for each cpu, not cumulated
Dies hat Werte > 1.0 wa
für mindestens einen Kern zeigen - wenn es keine diskwaits sind, gibt einfach keine IO-Last ist und keine Notwendigkeit, weiter zu suchen. Signifikante Belastungen in der Regel > 15.0 wa
starten.
x = highlight current sort column
< and > = change sort column
R = reverse sort order
Wählen Sie 'S', der Prozess-Status-Spalte. Umkehren der Reihenfolge, um so die ‚R‘ (Laufen) Prozesse oben dargestellt sind. Wenn Sie Prozesse ‚D‘ können vor Ort (für Disk wartet), haben Sie einen Indikator, was Ihre Ursache sein könnte.
Für KDE-Benutzer können Sie 'ctrl-esc' verwenden oben ein System actrivity Monitor aufrufen und es gibt E / A-Aktivitäten Diagramme mit Prozess-ID und Name.
Ich habe keine Berechtigung, Bild hochladen, aufgrund ‚neuen Benutzerstatus‘, aber Sie können unter das Bild sehen. Es hat eine Spalte für IO lesen und schreiben.
Haben Sie lsof
(Liste geöffnete Dateien) in Betracht gezogen?
iotop mit dem Flag -a:
-a, --accumulated show accumulated I/O instead of bandwidth