MRT unter Mac OS Mojave braucht viel CPU
Vor ein paar Tagen hat mein Mac begonnen, eine erkleckliche Menge CPU mit dem Task MRT zu verbraten. Eine kurze Recherche ergab, dass es sich hierbei um das Malware Removal Tool handelt.
Sämtliche guten Ratschläge im Netz laufen stets auf das Gleiche hinaus: MRT irgendwie auszuknipsen. Einen Blick ins Log zu werfen, scheint niemandem einzufallen. Im system.log findet sich indes auch:
Oct 21 14:54:41 imini com.apple.xpc.launchd[1] (com.apple.MRTd[68]): Service exited due to SIGABRT Oct 21 14:54:41 imini com.apple.xpc.launchd[1] (com.apple.MRTa[348]): Service exited due to SIGABRT
Das passiert immer wieder: Task wird gestartet und erleidet einen SIGABRT. Ebenso auffällig ist, dass diesen Verhalten
- einen Neustart überlebt,
- auch ohne angemeldeten Benutzer Bestand hat.
Um zu sehen, ob es irgendwelche Einstellungen für dieses Programm gibt, schaue ich mir an, was denn so alles installiert ist:
bash-3.2# ls -lht /System/Library/Receipts/com.apple.pkg.MRT* |head -rw-r--r-- 1 root wheel 473B 21 Okt 13:22 /System/Library/Receipts/com.apple.pkg.MRTConfigData_10_14.16U4131.plist -rw-r--r-- 1 root wheel 65K 21 Okt 13:22 /System/Library/Receipts/com.apple.pkg.MRTConfigData_10_14.16U4131.bom -rw-r--r-- 1 root wheel 473B 2 Okt 12:55 /System/Library/Receipts/com.apple.pkg.MRTConfigData_10_14.16U4129.plist -rw-r--r-- 1 root wheel 65K 2 Okt 12:55 /System/Library/Receipts/com.apple.pkg.MRTConfigData_10_14.16U4129.bom -rw-r--r-- 1 root wheel 473B 21 Aug 16:49 /System/Library/Receipts/com.apple.pkg.MRTConfigData_10_14.16U4125.plist -rw-r--r-- 1 root wheel 65K 21 Aug 16:49 /System/Library/Receipts/com.apple.pkg.MRTConfigData_10_14.16U4125.bom -rw-r--r-- 1 root wheel 473B 24 Jul 20:18 /System/Library/Receipts/com.apple.pkg.MRTConfigData_10_14.16U4121.plist -rw-r--r-- 1 root wheel 65K 24 Jul 20:18 /System/Library/Receipts/com.apple.pkg.MRTConfigData_10_14.16U4121.bom -rw-r--r-- 1 root wheel 473B 26 Jun 08:16 /System/Library/Receipts/com.apple.pkg.MRTConfigData_10_14.16U4115.plist -rw-r--r-- 1 root wheel 65K 26 Jun 08:16 /System/Library/Receipts/com.apple.pkg.MRTConfigData_10_14.16U4115.bom
Nun, dann schauen wir mal, was es da so an Einstellungsdateien gibt (welche nicht zur Lokalisierung gehören):
bash-3.2# lsbom /System/Library/Receipts/com.apple.pkg.MRTConfigData_10_14.16U4131.bom |fgrep plist |fgrep -v lproj ./System/Library/CoreServices/MRT.app/Contents/Info.plist 100644 0/0 1589 3968238339 ./System/Library/CoreServices/MRT.app/Contents/version.plist 100644 0/0 495 18312192 ./System/Library/LaunchAgents/com.apple.MRTa.plist 100644 0/0 705 1320931674 ./System/Library/LaunchDaemons/com.apple.MRTd.plist 100644 0/0 592 3443647653
Kurz: In den Plist-Files steht nichts näheres an Einstellungen drin. Aber (Auszug):
<key>PathState</key> <dict> <key>/var/db/.MRTReady</key> <true/> </dict>
Lösung
Die Datei /var/db/.MRTReady hat 0 Bytes. Also löschen wir diese mal.
rm -f /var/db/.MRTReady
Reboot, Gegentest:
touch /var/db/.MRTReady
Und sofort ist das ständige Neustarten von MRT wieder da, mitsamt der CPU-Last.
Letztlich ist nicht klar, warum die Datei existierte und weswegen der MRTd deswegen mit einem SIGABRT beendet wurde. Aber ganz ohne (fragwürdige) Deaktivierung von MRT war das Problem zu lösen.