Manchmal sehe ich, wie sich ein distnoted
Prozess plötzlich dreht und 100% der CPU (auf einem Kern) und eine Tonne Speicher aufbaut, oft in der Nähe von 1,5 GB oder so. Dies geschieht einige Male am Tag, beginnend vor einem Monat oder so.
Die Kommandozeile ist /usr/sbin/distnoted agent
und wird von launchd
keiner viel helfen. Es läuft normalerweise zwischen 4 und 24 Stunden, bevor es hochfährt und die CPU blockiert.
Laut Internetsuchen wird die distnoted
Zustellung von Benachrichtigungen verwaltet, und viele andere Personen berichten über das gleiche Problem, aber ich habe noch keine Lösung gefunden. Einige Leute finden, dass das Schließen einer Täteranwendung (z. B. Skype) diese beendet, aber ich habe noch keinen Täter auf meinem Computer gefunden. Ich verwende normalerweise nur ein paar Apps: Emacs (24.2 von Homebrew), Firefox, Adium und Dash.
Ich bin auf Mavericks auf einem 13 "Retina MBP Ende 2012. Vielen Dank im Voraus!
Aktualisieren:
Ich habe das distnoted
Anmelden im Systemprotokoll durch Berühren von aktiviert /var/log/do_dnserver_log
, aber es hilft nicht viel. Ich sehe Zeilen wie diese (UID 501 bin ich, 89 habe ich noch nicht gefunden):
distnoted[80011]: # distnote server agent absolute time: 48754.144787848 civil time: Wed Nov 20 10:52:03 2013 pid: 80011 uid: 501 root: no
distnoted[20]: # distnote server daemon absolute time: 2.808112262 civil time: Tue Nov 19 09:52:24 2013 pid: 20 uid: 0 root: yes
distnoted[444]: # distnote server agent absolute time: 16.656997509 civil time: Tue Nov 19 09:52:38 2013 pid: 444 uid: 501 root: no
distnoted[1271]: # distnote server agent absolute time: 52.518265717 civil time: Tue Nov 19 09:53:14 2013 pid: 1271 uid: 89 root: no
distnoted[689]: Interruption - exiting now.
Ich habe auch sudo dtruss -p PID
einen hochgezogenen distnoted
Prozess ausgeführt, der folgende Zeilen enthält:
kevent64(0x3, 0x7FFF7C3FD130, 0x1) = 1 0
workq_kernreturn(0x20, 0x0, 0x1) = 0 0
workq_kernreturn(0x20, 0x0, 0x1) = 0 0
kevent64(0x3, 0x7FFF7C3FD130, 0x1) = 1 0
workq_kernreturn(0x20, 0x0, 0x1) = 0 0
workq_kernreturn(0x20, 0x0, 0x1) = 0 0
kevent64(0x3, 0x7FFF7C3FD130, 0x1) = 1 0
workq_kernreturn(0x20, 0x0, 0x1) = 0 0
__disable_threadsignal(0x1, 0x0, 0x0) = 0 0
__disable_threadsignal(0x1, 0x0, 0x0) = 0 0
__disable_threadsignal(0x1, 0x0, 0x0) = 0 0
kevent64(0x3, 0x7FFF7C3FD130, 0x1) = 1 0
workq_kernreturn(0x20, 0x0, 0x1) = 0 0
...
Antworten:
Zusammenfassung aus dem OP : Dies war ein großartiges Tool zum Debuggen. Ursprünglich wollte ich das Dateisystem in Spotlight neu indizieren, aber ich habe die Dinge, die indiziert werden dürfen, eingegrenzt, und ich habe immer noch das Problem gesehen. Am Ende habe ich einen Cronjob eingerichtet, um Distnoted regelmäßig zu töten. Siehe Antwort weiter unten.
Sie können einen bestimmten Fehler beheben, indem Sie eine Datei erstellen.
/var/log/do_dnserver_log
Dadurch zeichnet derCFNotificationCenter
Server (distnoted
) Informationen zu allen Benachrichtigungen im Systemprotokoll auf.Ich würde dort starten, neu starten und das Systemprotokoll anzeigen, wenn die CPU hochfährt. Dies sollte den Täter leicht herausfinden.
Weitere Informationen zum
CFNotificationCenter
Debuggen finden Sie in den offiziellen Entwicklerdokumenten hier: Technischer Hinweis TN2124> CFNotificationCenterquelle
/var/log/system.log
, aber es hat sich auch nicht gedreht, seit ich die Protokollierung gestartet habe. Daumen drücken.Nov 23 07:56:15 hell.local distnoted[2644]: # distnote server agent absolute time: 77.445654904 civil time: Sat Nov 23 07:56:15 2013 pid: 2644 uid: 89 root: no
sudo dtruss -p PID
und sehen Sie, welche Systemaufrufe der Prozess tatsächlich versucht und ob es irgendwelche fehlgeschlagenen gibt (der Status ist nicht 0).strace
, aber ich wusste nichtdtruss
. Ich werde es auf jeden Fall beim nächsten Mal versuchen. die pids sind nur der entsprechende distnoted Prozess, und die einzigen uids sind ich und_appserveradm
ein eingebauter Systembenutzer, über den ich nicht viel weiß.Ich habe das auch gesehen. Emacs 24.3.1, Mavericks 10.9.
Ich habe festgestellt, dass sich der distnotierte Prozess innerhalb von Sekunden nach dem Verlassen von Emacs beruhigt.
Ich habe hier einen Emacs-Fehler gemeldet: http://permalink.gmane.org/gmane.emacs.bugs/80836
quelle
Ich weiß, dass ich zu spät zur Party komme, aber dies ist ein Speicherverlust, der speziell für Cocoa-Emacs auf Mavericks gilt und im Kofferraum behoben ist. Im Moment gibt es einen Patch, mit dem Sie Emacs 24.3 nur mit dem Fix erstellen können.
https://gist.github.com/anonymous/8553178
quelle
brew reinstall emacs --cocoa --with-gnutls
kann das Problem auch behoben werden. Es soll auch in 24.4 behoben sein, aber das ist noch nicht stabil.top
) und das Töten von -9 Emacs funktionierte nicht, aber nach dem töten reagierten -HUP disnoted emacs auf den kill.Ich habe seit
distnoted
einiger Zeit die gleichen Probleme mit El Capitan. Meine Lösung ist nicht so hart wie das regelmäßige Beenden, sondern ich überprüfe, ob die Kontrolle verloren geht (hohe CPU-Auslastung), und beende sie dann. Ich benutze dieses Skript:Das Skript wird jede Minute von cron ausgeführt, wobei die folgende Zeile in crontab steht:
In der Praxis wird das Skript
distnoted
ein- oder zweimal am Tag abgebrochen. Dies geschieht normalerweise nach dembackupd
Start.Für diejenigen, die mit der Verwendung der OS X-Shell (Befehlszeile) nicht vertraut sind, werden mit dem folgenden Skript sowohl das
checkdistnoted
Skript als auch der crontab-Eintrag installiert :Sie müssen das oben Genannte als
install_checkdistnoted.sh
auf Ihrem Desktop speichern , dann ausführenApplications/Utilities/Terminal
und Folgendes eingeben:Wenn es vollständig funktioniert, wird eine Bestätigung für jeden der Schritte gedruckt. Das Skript überschreibt kein vorhandenes
checkdistnoted
Skript oder keinen vorhandenen Crontab-Eintrag.quelle
Ich gab auf und ging auf den Vorschlaghammer zu: Töte ihn automatisch, jede Minute. Seufzer.
ich stelle dies ein in
~/Library/LaunchAgents/org.snarfed.pkill_distnoted.plist
:und dann installiert es mit
launchctl load ~/Library/LaunchAgents/org.snarfed.pkill_distnoted.plist
.quelle
disnoted
RAM isst.disnoted
habe gestern 63 GB RAM in meiner High Sierra gegessen. Sogar Ryan gibt in seiner Frage an, dass der Prozess eine Menge Gedächtnis gekaut hat .Ich habe verschiedene Kombinationen von Stripping-Anpassungen durchgeführt, um dieses Verhalten einzugrenzen. Ich denke, es ist Comint-Modus. Auf 10.9 mit Emacs 24.3.1 von Homebrew (oder von Emacsforosx) tritt das distnoted + Emacs-Leck (beide erhöhen langsam den Speicherverbrauch) mit einem geöffneten Shell-Modus-Puffer auf. Es wird nicht, wenn Sie nur Dateien besuchen.
Wollte es hier nur notieren, gmane scheint nicht in Betrieb zu sein und ich finde diese Diskussion immer wieder auf meiner zweimal wöchentlichen Suche nach Folgemaßnahmen zu diesem Problem.
quelle
Ich denke, ich kann mich nur an zwei Gelegenheiten erinnern, bei denen Distnoted durcheinander geraten ist. Bei dieser Gelegenheit saßen 2 von ihnen an der Spitze der CPU-Liste und einer war über 400%. Es geschah kurz nachdem ich ins Büro zurückgekehrt war und ein paar externe Displays angeschlossen hatte - von denen eines mit USB betrieben wird -, vermutete ich, dass es damit zusammenhängen könnte. Ich habe nichts anderes unternommen, um das Problem zu beheben, bevor ich das USB-Display herausgezogen habe, was sofort wieder zur Vernunft geführt hat. Und dann wieder einstecken führte zu keinem Wiederholungsproblem.
Welches beweist was? Keine Ahnung!
Ich schließe sie hunderte Male an, und dies ist das erste Mal, dass mir der Gedanke kam, dass es etwas damit zu tun haben könnte. Und da es nicht jedes Mal passiert, wenn ich sie einstecke, hat es möglicherweise etwas damit zu tun, dass beide zu schnell hintereinander gesteckt werden oder so etwas Zufälliges. Jedenfalls dachte ich, ich würde teilen, falls andere Leute finden, dass es irgendetwas mit dem Anschließen von Peripheriegeräten zu tun hat (wenn es das ist, was ein externer Bildschirm ist)
quelle
Dies scheint zu passieren, wenn eine Anwendung die von macOS bereitgestellte Benachrichtigungs-API irgendwie falsch verwendet. In meinem Fall war iTerm2 der Täter. Nach dem Beenden wurden die
distnoted
Prozesse beendet. Andere Schuldige, die identifiziert wurden, sind Emacs und iTunes.quelle
Ich konnte dieses Problem beheben, indem ich meine Antivirensoftware deaktivierte.
quelle
Das passierte mir auch, distnoted wurde verrückt. Nach dem Schließen einer Reihe von Anwendungen hat nichts geholfen.
Dann bemerkte ich, dass einer dieser "Report to Apple" -Dialoge eines abgestürzten Python-Prozesses die ganze Nacht offen blieb.
Obwohl es nur Zufall sein konnte, beruhigte sich nach dem Schließen des Dialogs der distnoted Prozess.
quelle
Ich bin vor einigen Monaten auf ein ähnliches Problem mit Distnoted gestoßen und konnte nicht feststellen, warum die CPU-Auslastung über 100% stieg. Schließlich fügte ich
killall distnoted
alle 2 Minuten einen Eintrag zu meiner Crontab hinzu, der mein Problem löste.Vor kurzem hatte ich ein Problem mit Sublime Text, bei dem durch Eingabe
subl path/to/file
die Datei im Sublime Editor nicht richtig geöffnet werden konnte. Ein Neustart der App behebt das Problem, aber es begann schnell wieder zu geschehen.Nachdem ich mir den Kopf zerbrochen hatte, stellte ich fest, dass ich alle zwei Minuten einen verdrehten Prozess beendet hatte, um herauszufinden, warum der Befehl subl auf mysteriöse Weise nicht mehr funktionierte.
Das Fazit: Die extrem hohe CPU-Auslastung könnte mit dem Erhabenen zusammenhängen. Jetzt, da sublime aktualisiert wurde, ist meine Schlussfolgerung hoffentlich richtig, die CPU-Auslastung bleibt niedrig, und mein subl-Befehl funktioniert wieder wie erwartet, da distnoted wieder ausgeführt wird, ohne dass meine crontab den Prozess alle 2 Minuten abbricht.
quelle
Ich habe auch dieses Problem seit geraumer Zeit, aber mit Unterbrechungen. Anscheinend ist distnoted Teil von iTunes und hat auch unter Windows Probleme verursacht . Als ich iTunes (das ein Lied abspielte) beendet habe, war der
distonted
Prozess, bei dem 400% meiner CPU (ich habe 4 Kerne) verbraucht waren, kein Problem mehr.Daher ist meine Antwort, bis ich es besser weiß, zu empfehlen, iTunes zu töten, nicht zu töten
distnoted
, und uns mitzuteilen, was passiert.quelle
Ich sehe auch Distnoted Go Haywire, in meinem Fall scheint es mit Fontd verwandt zu sein. Ich habe drei Distnoted Running, eine für Spotlight, eine für Distnote und eine für meinen Benutzer.
Immer wenn distnoted CPU (30-90%) isst, essen fontworker und fontd jeweils etwa 30-60% CPU. Sobald ich fontd, distnoted und fontworker für meinen Benutzer töte, beruhigt sich. Fontworker zu töten bringt nichts. Nach ein paar Minuten, in denen fontd neu gestartet wurde und eine Weile lief, beginnt alles von vorne.
Ich habe keine Ahnung, warum das passiert ...
quelle
Peter Buckley hat recht, ich liege falsch. Ich hasse es, wenn das passiert.
Entferne Distnoted nicht, der nächste Boot wird überhaupt keinen Spaß machen.
quelle
distnoted
wie in ConorR erwähnt (und später korrigiert, danke!), Es ist erforderlich, OSX zu booten (10.9.5 in meinem Fall).