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 manuelles Stoppen mit kill -STOP des jeweiligen Dienstes 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.