Ich frage mich, wie ich überwachen kann, welcher Prozess alle meine I/O Bandbreite ausnimmt. Der einzige Befehl, den ich kenne, ist gstat
, aber es zeigt kumulative Informationen. Gibt es irgendwelche Werkzeuge, die ich verwenden kann, um die laufenden Prozesse für ihre E/A-Nutzung zu überprüfen? Das System ist FreeBSD 8.3.Finding Prozess mit schweren Festplatte I/O
Antwort
iotop ist, was Sie verwenden möchten. Die meisten Linux-Distributionen haben ein Paket dafür.
Nach einer schnellen Forschung, für Netzwerkanalyse: können Sie entweder lsof -i
oder sockstat
(http://www.freebsd.org/cgi/man.cgi?query=sockstat & Sektion = 1), um die Buchsen zu identifizieren geöffnet von bestimmten Prozessen, dann können Sie tcpdump
verwenden, um die Details dieser Verbindung zu überprüfen (http://www.thegeekstuff.com/2010/08/tcpdump-command-examples/#more-5676). Sie können auch versuchen, trafshow
und iftop
.
Für Disk I/O: unter Linux verwende ich sar -q
, da muss etwas ähnliches sein.
ist das nicht für Netzwerkverbindungen und nicht für Festplatten-I/O? – eis
Ich habe kein Problem mit dem Netzwerk, nur mit hohem I/O der Festplatte (von gstat aus gesehen) –
Mein schlechtes, sah ich "Bandbreite" in Ihrer Frage und wurde verwirrt. Hier ist ein interessanter Artikel: http://www.bsdnewsletter.com/bsda-book/Monitor_disk_input--output.html, hoffe es hilft. – theMarceloR
können Sie ktrace verwenden, wenn Sie einen einzelnen Prozess verfolgen möchten:
$ ktrace -ti -p PID
Do lesen Sie die manual for ktrace so wissen Sie, wie ktrace zu deaktivieren, bevor Sie. Etwas wie:
$ ktrace -p PID -f debug.txt
$ ktrace -C
$ kdump -f debug.txt
kdump, da der Ausgang nicht menschlich lesbar ist.
Ja, ich weiß über Ktrace, aber es zeigt nicht das Gewicht jeder Anfrage. –
Warte, das Gewicht? Wie wäre es also mit einigen Packet-Sniffing-Programmen wie WireShark oder Fiddler? – theMarceloR
Nein, es gibt kein Problem mit dem Netzwerk. Das Gewicht, das ich meine% der Disk-Kanalbandbreite –
die Antwort ist ‚top‘ dann klicken Sie auf ‚m‘ anzuzeigen IO Prozentsatz pro Prozess/Thread
In welcher Version von 'top' ist das? Auf meinem 'm' schaltet die Zusammenfassung der Speicherauslastung um. –
@DanielKitachewsky - Funktioniert auf meinem FreeBSD: '$ top -v' gibt' top: version 3.5beta12'. FreeBSD * verwendet * einen anderen Top als die meisten Linux-Distributionen. Auf meinen Linux-Boxen schaltet 'm' die Speicherbelegung wie bereits erwähnt um. – tjameson
Versuchen Sie 'shift + m', um nach Speicherprozentsatz zu schließen. 'shift + p' für CPU und' shift + t' für Zeit –
http://serverfault.com/questions/169676/howto-check-disk-i-o-utilisation-per-process –
@ CiroSantilli709 Dies ist eine Linux-Frage. Allerdings ist dies besser geeignet: https://serverfault.com/questions/460634/identify-which-process-is-responsible-for-heavy-disk-io-under-freebsd – eis
@eis sicher nur sagen, es ist verwandt; -) 99 Prozent der Googler werden hier allerdings unter Linux fallen :-) –