Was verursacht die gesamte Festplattenaktivität unter OS X?

59

Gelegentlich verlangsamt sich mein Macbook Pro, wenn die Festplatte endlos klickt. Die CPU-Auslastung ist niedrig, aber Anwendungen und Menüs reagieren nur langsam. Gibt es ein Hilfsprogramm, mit dessen Hilfe ich feststellen kann, was im Laufe der Zeit vor sich geht, z. B. wie viele Bytes gelesen / geschrieben oder welche Dateien pro Prozess geöffnet / geschlossen werden?

ein bezahlter Nerd
quelle
1
Hier spekulieren, aber es könnte etwas Einfaches sein, wie den mdsSpotlight-Index zu aktualisieren.
4
9 mal von 10 im Rampenlicht ist das Problem. Eine Sache, die mir aufgefallen ist, ist, dass wenn Sie eine Bootcamp-Partition haben, stellen Sie sicher, dass Sie diese in die Spotlight-Blacklist aufnehmen.
Bryan Schuetz
5
Vielen Dank für den Vorschlag zu Spotlight. Ich hatte gerade sehr hohe Lesezugriffe auf die Festplatte, warf meine Boot Camp-Partition in die Registerkarte Datenschutz in den Spotlight-Einstellungen und führte sofort flache Lesezugriffe durch! Ich mache mich schon seit Monaten verrückt.
Tim Keating

Antworten:

61

Von man iotop:

iotop protokolliert die Datenträger-E / A nach Prozess und druckt einen zusammenfassenden Bericht, der in jedem Intervall aktualisiert wird.

Dies ist die Messung von Festplattenereignissen, durch die Systemcaches überschritten wurden.

Da dies DTrace verwendet, können nur der Root-Benutzer oder Benutzer mit dem Recht dtrace_kernel diesen Befehl ausführen.

Das ist vielleicht nicht genau das, was Sie wollen - aber es ist ein ksh-Skript, das sich um dtrace dreht. Sie sollten also in der Lage sein, herauszufinden, wie Sie dtrace dazu bringen, das zu tun, was Sie brauchen, wenn iotop dies nicht standardmäßig erledigt.

Etwas wie iotop -C 5 12sollte Ihnen jedoch einen Anfang geben: Es werden 12 Samples ausgegeben, die jeweils 5 Sekunden lang sind.

James Polley
quelle
2
Ziemlich gut. iotop -C 5 12Dies ist eine gute Möglichkeit, eine Zusammenfassung der Vorgänge zu erhalten.
ein bezahlter Nerd
51

Sie können auch verwenden fs_usage, um einen detaillierten Überblick darüber zu erhalten, welche Apps auf die Festplatte zugreifen.

AlBlue
quelle
1
Oh, das ist heiß. fs_usageAußerdem können Sie die Netzwerk- und Dateisystemaktivität filtern.
ein bezahlter Nerd
2

Ich habe das immer am Samstagmorgen bemerkt, und es stellte sich heraus, dass locatedie Datenbank freitagabends um 3:15 Uhr aktualisiert wird.

Ich habe versucht, seine launchdKonfiguration (in /System/Library/LaunchDaemons/com.apple.locate.plist) zu deaktivieren , aber es lief trotzdem, also bin ich einfach /usr/libexec/locate.updatedbaus dem Weg gegangen. Problem ... gemildert.

Brandan
quelle
1

Möglicherweise handelt es sich um das Paging des Betriebssystems in den virtuellen Speicher und nicht um eine anwendungsspezifische Funktion. Sie könnten versuchen, weniger häufig verwendete Anwendungen zu beenden oder zumindest einige Anwendungen neu zu starten, die im Laufe der Zeit In-Memory-Caches aufbauen möchten (z. B. Safari). Überprüfen Sie die verschiedenen prozessbezogenen Speicherstatistiken mit dem Aktivitätsmonitor , um wahrscheinliche Schuldige zu finden. Wenn das Beenden einiger speicherintensiver Anwendungen das Problem vorübergehend zu lindern scheint, können Sie versuchen, RAM hinzuzufügen.

Wenn es sich bei der Datenträgeraktivität nicht um einen Paging-Vorgang handelt, können Sie ihn möglicherweise verwenden fs_usage, um einen oder mehrere bestimmte Prozesse zu verfolgen.

Chris Johnsen
quelle