it-swarm.com.de

Finden Sie heraus, welche Prozesse auf die Festplatte schreiben

Bei meinem Lenovo T400 und Ubuntu blinkt die Anzeige für das Schreiben auf der Festplatte weiter. Ich habe mich gefragt, ob es unter Linux möglich ist herauszufinden, welche Prozesse E/A auf der Festplatte ausführen. Genau wie bei top können Sie herausfinden, welche Prozesse die meiste CPU und den meisten Speicher belegen.

33
Tim

Iotop ist ein gutes Werkzeug für das, was Sie wollen. Es ermöglicht auch die Anzeige der akkumulierten E/A-Menge auf DISK READ, DISK WRITE, SWAPIN und IO (Gesamtprozentsatz). Dies erfolgt über eine übersichtliche Oberfläche:

  • Sie drücken einfach a auf der Tastatur, und es wird die hungrigsten Prozesse oben sortieren.
  • Um die Reihenfolge umzukehren, drücken Sie einfach r.
  • Wenn Sie nach anderen Spalten sortieren möchten, drücken Sie einfach die linke/rechte Taste.

Wie top ist die Präsentation ziemlich beschäftigt. Eine andere Sache ist, dass es nicht die unzähligen Optionen gibt, die top hat (z. B. kann ich keine der Optionen ausblenden Spalten, an denen ich nicht interessiert bin), aber das Tool ist mehr als gut genug für seinen spezifischen Zweck.

42
tshepang

Sie können lsof ( man lsof ) verwenden. Im Folgenden wird eine Liste aller Dateien zurückgegeben, die zum Schreiben geöffnet sind:

lsof | grep -e "[[:digit:]]\+w"
15
James Sumners

Verwenden Sie strace.

2
user541686

Insbesondere bei geringer Festplattenaktivität ist es erforderlich, iotop im Batch-Modus zu verwenden, um zu verhindern, dass kurze Zugriffsleitungen schnell verschwinden. Die Antwort von Wie protokolliere ich das Lesen/Schreiben von Dateisystemen nach Dateinamen unter Linux? zeigt, wie das geht.

Bisher ist iotop die beste Gesamtlösung. Mit dem folgenden Befehl erhalten Sie eine Echtzeitausgabe aller Prozesse, die die Festplatte verwenden.

iotop -bktoqqq -d .5

where: -b     is batch mode
       -k     is kilobytes/s
       -t     adds timestamp
       -o     only show processes or threads actually doing I/O
       -qqq   removes output headers
       -d .5  updates every .5 seconds

Sobald Sie die Prozess-ID haben, können Sie auch die Dateien mit finden

 lsof -p $PID
2
Frank Breitling