Wie kann ich feststellen, welche Prozesse E/A-Lasten antreiben?

Irgendetwas verursacht in letzter Zeit eine Menge Festplatten-E/A auf meinem System. Ich kann in ActivityMonitor sehen, dass es jede Sekunde riesige Mengen an Lese- und Schreibvorgängen gibt. Aber keiner der "normalen" Verdächtigen ist aktiv, wenn dies geschieht. (dh es ist keine Zeitmaschine.) und ich habe viel freien Speicher (800 MB bis 1,3 GB von insgesamt 6 GB), also sollte es nicht paging sein. Ich sehe oben keine Apps, die bei der E/A blockiert sind, wenn dies beginnt. (Sobald es läuft, sehe ich, dass sich die Dinge anhäufen ... aber alles, was ich darin sehe, scheint ein Opfer zu sein.)

Welche Tools kann ich verwenden, um ein Gefühl dafür zu bekommen, welcher Prozess die Festplatte io verursacht?

Ich glaube, es begann mit 10.6.6. :( Ich kann mich nicht erinnern, dies jemals mit 10.6.5 getroffen zu haben.

Wann fängt das an? Scheint es ausgelöst zu werden, sobald Sie den Computer einschalten, oder wenn Sie eine bestimmte Anwendung öffnen?
Ich habe noch kein vernünftiges Muster gefunden. Als ich dies heute Morgen gepostet habe, hatte ich das System etwa 45 Minuten zuvor aufgeweckt und hatte ungefähr das gleiche Dutzend Prozesse am Laufen, die seit Tagen liefen. Es scheint ungefähr alle 3 oder 4 Tage zu passieren, ich werde kommentieren, was es ist, sobald ich es mit Gordons Lösung fange.
Ich denke, Activity Monitor ist nutzlos – ich muss auch wissen, was mit diesem E/A-Zeug los ist. Apple kann sich sicher etwas mehr als Activity Monitor einfallen lassen, um mir zu sagen, was mit meinem MacPRO (10.6.6) los ist. Ich habe MacScan gekauft und festgestellt, dass es viele Aktivitäten in Form von Spyware stoppt ... etwas zu beachten ... Ich konfiguriere MacScan so, dass es alle 24 Stunden um Mitternacht ausgeführt wird. Jetzt verliere ich keine Bandbreite mehr aufgrund meiner Hughesnet-Satellitenbeschränkungen.
Rätsel dank iotop gelöst. Es war ein Netzwerkclient (eine virtuelle Windows-Testbox), der mein Home-Verzeichnis gemountet hatte und anscheinend eine Art Indexierung oder Scannen oder so etwas durchgeführt hat. Ich ging und trennte die Freigabe von der wintendo-Seite und es hörte sofort auf, mein Raid-Array zu schleifen.

Antworten (2)

Versuch sudo iosnoop; es zeigt I/O während es passiert, einschließlich der Prozess-ID und des Prozessnamens, der die I/O ausführt, sowie Datengröße, Dateipfad usw. Es gibt Optionen, um es so zu beschränken, dass nur ein bestimmtes Gerät, ein bestimmter Mount-Punkt oder ein bestimmter Prozess angezeigt werden , usw.

und aus der Manpage von iosnoop ist iotop sogar noch besser! Danke!!
@cabbey Ich hatte iotop vorher nicht bemerkt; danke für den hinweis.

Auf *nix-Systemen lsofwird überprüft, welche App welche Datei geöffnet hat. Es ist ein guter Ausgangspunkt, um herumzugraben.

Geben Sie man lsofin die Befehlszeile ein, um zu sehen, ob die Beschreibung nützlich klingt.

Öffnen Sie auch die "Konsolen"-App oder tail -feinige der /var/logDateien, die viel Aktivität zeigen, und sehen Sie, ob etwas kaputt ist oder sich beschwert.

Während LSOF für einige Dinge großartig ist, z. B. warum kann ich dieses Medium nicht aushängen/auswerfen, ist es hier nicht so nützlich. Mir zu zeigen, welche Dateien GEÖFFNET sind, ist sinnlos, es gibt ständig Tausende von offenen Dateien. Ich muss wissen, welche gelesen/geschrieben werden.