Ich hatte das gleiche Problem mit der extrem hohen CPU- und Speicherauslastung von UserEventAgent ab Anfang Dezember 2017. In der Konsole wurde der oben beschriebene Fehler "Monat ohne Grenzen" angezeigt.
Ich habe versucht, Festplatten-Dienstprogramm "Erste Hilfe", Neustarts, abgesicherten Modus (zum Löschen des System-Cache), Löschen von NVRAM und SMD, nichts half. Mir ist aufgefallen, dass die CPU- und Speicherauslastung im abgesicherten Modus nicht angestiegen ist.
Wie bei @tgray und u / kidtexas habe ich irgendwann herausgefunden, dass das Problem nicht aufgetreten ist, wenn ich alle meine benutzerdefinierten Startlisten deaktiviert habe.
Ich habe schließlich das kleine Skript unten geschrieben, um herauszufinden, welcher Plist das Problem verursacht hat. Am Ende war es eine Pliste, die am ersten eines jeden Monats abläuft:
<key>StartCalendarInterval</key>
<dict>
<key>Day</key>
<integer>1</integer>
<key>Hour</key>
<integer>03</integer>
<key>Minute</key>
<integer>00</integer>
</dict>
Viele meiner Plisten verwenden den StartCalendarInterval
Schlüssel, und mithilfe des folgenden Skripts konnte ich zeigen, dass sie anscheinend keine Probleme mit dem Arbeitsspeicher und dem Arbeitsspeicher verursacht haben. Daher ist mir nicht ganz klar, warum eine bestimmte Pliste das Problem verursacht. Egal, so habe ich es aussortiert.
Ich empfehle den Lesern dringend , das Skript durchzusehen, um zu verstehen, was es tut, anstatt es nur zu kopieren und einzufügen. Wie geschrieben Konkret wird dies nur für plists in Arbeit ~/Library/LaunchAgents
(nicht /Library/LaunchDaemons
und andere), und es prüft absichtlich nur plists , deren Dateinamen und <key>Label</key>
das spezifische Muster folgen: com.USERNAME.my_plist_name[.plist]
. Bevor ich es bootout
ausführte , verwendete ich einen Einzeiler für alle meine Plisten: for plist in com."$(whoami)".*.plist; do launchctl bootout gui/"${MYUID}"/"${plist%.plist}" || true; done
und verifizierte dann, dass sie nicht mehr unter den launchctl list
Ergebnissen angezeigt wurden .
#! /bin/bash
# /apple/307512/month-13-is-out-of-bounds
set -euf -o pipefail
MYUID="$(id -u)"
pushd "${HOME}"/Library/LaunchAgents
while IFS= read -r -d '' plist; do
echo "${plist}"
stats=($(ps ux | grep -v grep | grep UserEventAgent | awk '{ print $3, $5}'))
cpu="${stats[0]}"
vmem="${stats[1]}"
echo "CPU use and virtual memory size while disabled: ${stats[@]}"
launchctl bootstrap gui/"${MYUID}" "${plist}"
sleep 5
stats=($(ps ux | grep -v grep | grep UserEventAgent | awk '{ print $3, $5}'))
echo "CPU use and virtual memory size while enabled: ${stats[@]}"
echo "Change in vmem: $(( "${vmem}" - "${stats[1]}" ))"
echo
done < <(find . -iname "com.$(whoami).*.plist" -print0)
popd