Dies ist eine alte Version des Dokuments!
Wegen vermutlich nicht zu bereinigenden Resten alter Software kann es in MacOS27 passieren, dass einige Hintergrundprozesse verrückt spielen und je einen Kern komplett auslasten.
Im konkreten Fall sind dies:
Da ein mauelles Stoppen mit kill -STOP des jeweiligen Service keine Auswirkungen auf den Betrieb das Macs gezeigt hat, habe ich beschlossen, die Biester gleich beim Login schlafen zu schicken.
Achtung: kill -KILL führt zum sofortigen Neustart der Dienste, hilft also nicht.
Eigenes Startgeschehen vorbereiten
vi ~/Library/LaunchAgents/com.user.freezedaemons.plist
dort Folgendes eintragen und anschließend speichern:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://apple.com. Landon.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.freezedaemons</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>-c</string>
<string>sleep 20 && sudo killall -STOP eligibilityd MTLAssetUpgraderD duetexpertd mediaanalysisd spotlightknowledged.updater</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Sicherstellen, dass genau dieses Kommando durch den Nutzer ausgeführt werden kann:
sudo visudo -f /private/etc/sudoers.d/freeze_rules
dort Folgendes eintragen und anschließend speichern:
frank ALL=(ALL) NOPASSWD: /usr/bin/killall -STOP eligibilityd MTLAssetUpgraderD duetexpertd mediaanalysisd spotlightknowledged.updater
auch nicht mehr eintragen, damit sonstige sudo-Aktionen geschützt bleiben!
Diesen eigenen Dienst für die Ausführung registrieren:
launchctl load ~/Library/LaunchAgents/com.user.freezedaemons.plist
Damit werden die betreffenden Dienste 20 Sekunden nach dem Login schlafen gelegt und die CPU-Last geht erheblich runter.