launchd trifft jede modifizierte Datei alle 30 Sekunden

Ich bin auf MacOs 10.12.5. Ich versuche, E/A mit hohem Volumen auszuführen, aber eine von launchd verwaltete Aufgabe trifft alle 30 Sekunden auf jeden geänderten Festplattenblock. Wenn dies geschieht, muss mein E/A mit hohem Volumen konkurrieren, was zu einer starken Verlangsamung führt. Wie identifiziere ich die Problemaufgabe?

Ich glaube, es hat etwas mit launchd zu tun, weil fs_usage -w -f diskioes mir sagt, dass es so ist. Alle 30 Sekunden gibt es eine Liste wie diese für jeden geänderten Festplattenblock im System aus (Entschuldigung, Sie müssen scrollen, um launchd zu sehen):

14:34:33.887889    WrData[AT3]     D=0x0068c05a  B=0x1000   /dev/disk2  /Users/simon/Library/Application Support/Google/Chrome/Default/Session Storage/000430.log                                                             0.000145 W launchd.9793620
14:34:33.887893    WrData[AT3]     D=0x00549a2b  B=0x1000   /dev/disk2  /Users/simon/Library/Application Support/Google/Chrome/Default/Session Storage/LOG                                                                    0.000107 W launchd.9793620
14:34:33.887895    WrData[AT3]     D=0x00570119  B=0x1000   /dev/disk2  /Users/simon/Library/Saved Application State/com.apple.Terminal.savedState/window_2.data                                                              0.000070 W launchd.9793620
14:34:33.887897    WrData[AT3]     D=0x0056fab5  B=0x1000   /dev/disk2  /Users/simon/Library/Saved Application State/com.apple.Terminal.savedState/window_3.data                                                              0.000064 W launchd.9793620
14:34:33.887912    WrData[ANT3]    D=0x0056ffd0  B=0x1000   /dev/disk2  /Users/simon/Library/Saved Application State/com.apple.Terminal.savedState/windows.plist                                                              0.000072 W launchd.9793620

Ich dachte, es könnte meine McAfee-Antivirensoftware sein, also habe ich die Dateien, die ich schrieb, vom Echtzeit-Scannen ausgeschlossen und dann versucht, es zu deaktivieren.

Ich dachte dann, es könnte Spotlight-Suche sein, aber das Ausschließen des Volumes, auf dem sich meine Datendateien befinden, hinderte diese launchd-Aufgabe nicht daran, erneut auf die Dateien zuzugreifen.

Running launchctl listzeigt eine Liste mit 327 Aufgaben. Ich würde mich freuen, wenn ich das auf nur einen beschränken könnte.

Obwohl ich sicher bin, dass die Aufgabe alle 30 Sekunden ausgeführt wird, nachdem ich sie viele Male angesehen habe, kann ich in den Konfigurationsdateien keine Erwähnung einer entsprechenden "30" finden. Ich habe:

  • Keine Erwähnung von "30" in /System/Library/LaunchAgents
  • Eine Erwähnung von „30“ in /System/Library/LaunchDaemons
    • com.apple.powerd.swd.plist setzt ThrottleInterval auf 30
  • Keine Erwähnung von "30" in /Library/LaunchAgents
  • Eine Erwähnung von „30“ in /Library/LaunchDaemons
    • com.mcafee.virusscan.fmpd.plist legt ExitTimeout auf 30 fest
  • Keine Erwähnung von "30" in ~/Library/LaunchAgents

Obwohl McAfee "30" erwähnt, hat das Deaktivieren und Ausschließen der Dateien keinen Unterschied gemacht.

Jede Hilfe beim Identifizieren der Task, die auf geänderte Plattenblöcke zugreift, wäre willkommen.

Können Sie McAfee vollständig entfernen? Ich erinnere mich an einige sehr seltsame Dinge mit McAfee – es war unmöglich, es normal zu beenden, und es hatte zwei Prozesse, die sich gegenseitig überwachten, sodass einer den anderen neu starten konnte, falls er jemals starb. Grundsätzlich würde ich ihnen nicht vertrauen, dass die Deaktivierungstaste tatsächlich etwas deaktiviert.
@BallpointBen - Leider würde das vollständige Entfernen von McAfee meine lokalen IT-Leute nicht glücklich machen, und ich muss mit ihnen leben. Wir wissen nicht einmal, dass es sich um McAfee handelt, außer dass wir erwarten würden, dass McAfee auf neu geänderte Dateien trifft.
wahrscheinlich offensichtlich, aber stellen Sie sicher, dass in diesen Verzeichnissen (iCloud usw.) keine Cloud-Synchronisierung aktiv ist.
Sie können versuchen, Time Machine auszuschalten, falls es eine Liste geänderter Dateien erstellt

Antworten (2)

Ich hatte vor einiger Zeit das gleiche Problem, aber IIRC, es stellte sich heraus, dass es die Spotlight-Indizierungsdienste (mds, mdworker usw.) waren, die von launchd erzeugt wurden.

Öffnen Sie Spotlight in den Systemeinstellungen, wechseln Sie zur Registerkarte „Datenschutz“ und ziehen Sie dann Ihren Home-Ordner in das Fenster. Dadurch ignoriert Spotlight Ihren Home-Ordner und alle Unterordner.

Wenn Sie nicht alle Ihre Dateien ausschließen möchten, erstellen Sie einen Ordner speziell für diese Anwendung mit hoher E/A und konfigurieren Sie Spotlight so, dass nur dieser Ordner ignoriert wird.

Für eine geekigere Methode sind hier einige auszuführende Shell-Befehle, die das gesamte Laufwerk von der Spotlight-Indizierung ausschließen. Ich verwende diese Befehle so schnell wie möglich auf allen externen USB-/Flash-Laufwerken.

Berühren Sie diese Dateien im Stammverzeichnis des auszuschließenden Laufwerks, also cd /für das interne Hauptlaufwerk oder cd /Volumes/USB_FLASH_DRIVE_NAMEfür ein externes USB/FLASH-Laufwerk

sudo /usr/bin/touch .metadata_never_index
sudo /usr/bin/chflags hidden .metadata_never_index

und um die Eingabeaufforderung zu beenden, wenn Sie die Festplatte für TimeMachine-Sicherungen verwenden möchten

sudo /usr/bin/touch .com.apple.timemachine.donotpresent
sudo /usr/bin/chflags hidden .com.apple.timemachine.donotpresent

Wenn es passiert, versuchen Sie es

launchctl list|grep xxxxx

int das Terminal, wobei xxxx die Nummer ist, die am Ende Ihrer fs_usage-Ausgabe erscheint, d . h launchd.9793620. in der von Ihnen bereitgestellten Auflistung.

Entschuldigung - ich konnte bis heute nicht testen. Die traurige Antwort ist "absolut nichts". Ich denke, das liegt daran, dass die Zahl in der fs_usage-Ausgabe eine Thread-ID ist, die Zahl in der launchctl-Liste jedoch eine Prozess-ID
Du brauchst dich nicht zu entschuldigen, du bist derjenige, der in Schwierigkeiten steckt! Du hast in der Tat Recht: Ich habe gerade getestet, dass meine Idee nicht auf meinem Sierra funktioniert. Tut mir leid, ich hätte es testen sollen, aber ich war auf meinem Handy ...
Ich versuche, ein Tool zu finden, um alle laufenden Threads aufzulisten. Unter Linux gibt es htop und es kann unter MacOS installiert werden, also habe ich weitergemacht, aber es gibt keine Unterstützung für die Anzeige aller Threads :-(