Wie kann man überprüfen, was MBP am ordnungsgemäßen Herunterfahren/Neustart hindert, und es beheben? [Jetzt mit Log-Einträgen]

Und hoffentlich wirklich letzte Bearbeitung: Nach dem Upgrade auf Mountain Lion scheint das Problem behoben zu sein, hoffentlich dauerhaft.

Final Edit: Das Problem tritt nicht ständig auf, manchmal muss ich mehrere Tage warten, bis es auftritt. Daher ist es schwierig, unter verschiedenen Bedingungen zu testen (dh im abgesicherten Modus oder mit deaktivierter Software), und ich habe entschieden, dass es sich nicht lohnt, Tage damit zu verbringen, verschiedene Bedingungen zu testen, um dies zu beheben. Die Vorschläge von Graham Perrin waren am hilfreichsten, um spezifische Informationen zu Neustart-/Neustartproblemen zu finden, die nicht in den allgemeinen Protokollen zu finden sind.

Einige Protokolleinträge befinden sich unten in Bearbeiten:

Mitte 2010 15-Zoll-MacBook Pro mit OS X 10.7.4. Manchmal funktioniert es nicht, wenn Sie versuchen, das Gerät neu zu starten oder herunterzufahren – der Bildschirm wird grau, das sich drehende Rad wird angezeigt, aber das Gerät schaltet sich nicht aus, sodass ich es nach einigen Minuten durch Drücken der Ein-/Aus-Taste herunterfahren muss Knopf.

Es passiert nicht jedes Mal, und ich kann keine während der Sitzung verwendete Software mit dem Problem in Verbindung bringen. Tatsächlich passierte dies beim Testen manchmal, wenn ich versuche, die Maschine sofort nach dem Start herunterzufahren.

Wie kann man überprüfen, was das ordnungsgemäße Herunterfahren/Neustarten verhindert? Ich nehme an, dass ich in einigen Protokolldateien nachsehen muss, aber ich bin mir nicht sicher, welche und wonach ich suchen soll.

Bearbeiten: Die ausführliche Einstellung zum Starten/Herunterfahren im nvram hinzugefügt, wie von Graham Perrin vorgeschlagen, und schließlich blieb die Maschine beim Neustart hängen. Ich sah einige ausführliche Einträge auf dem Bildschirm und fand sie nach dem Neustart in /var/log/launchd-shutdown.log. Es scheint, dass WindowServer etwas damit zu tun haben könnte. Unten ist das Ende dieser Protokolldatei, wobei die ersten 3 Spalten entfernt wurden (die erste hatte einige ansteigende Ganzzahlen, die zweite hatte Einträge von „1“ und die dritte – „com.apple.launchd“):

234 com.apple.WindowServer   Dispatching kevent callback.
234 com.apple.WindowServer   Job has not died after being killed 2 seconds ago. Simulating exit.
234 com.apple.WindowServer   Dispatching kevent callback.
234 com.apple.WindowServer   EVFILT_PROC event for job.
1 com.apple.launchd         KEVENT[0]: udata = 0x107827a90 data = 0x0 ident = 234 filter = EVFILT_PROC flags= 0x0 fflags = NOTE_EXIT
234 com.apple.WindowServer   Reaping
234 com.apple.WindowServer   Simulated exit: <rdar://problem/9359725>
234 com.apple.WindowServer   Exited 22.016701 seconds after the first signal was sent
0 com.apple.WindowServer     Exited while shutdown in progress. Processes remaining: 0/0
0 com.apple.WindowServer   Job was last to exit during shutdown of: System.
0 com.apple.WindowServer    Total rusage: utime 0.000000 stime 0.000000 maxrss 0 ixrss 0 idrss 0 isrss 0 minflt 0 majflt 0 nswap 0 inblock 0 oublock 0 msgsnd 0 msgrcv 0 nsignals 0 nvcsw 0 nivcsw 0
0 com.apple.WindowServer  Closing receive right for com.apple.windowserver.active
0 com.apple.WindowServer  Mach service deleted: com.apple.windowserver.active
0 com.apple.WindowServer  Closing receive right for com.apple.windowserver
0 com.apple.WindowServer   Mach service deleted: com.apple.windowserver
0 com.apple.WindowServer    Removed
1 com.apple.launchd      System: No submanagers left.
1 com.apple.launchd    System: Removing.
1 com.apple.launchd   System: Removing job manager.
1 com.apple.launchd    System: Userspace shutdown finished at: Wed Aug  1 08:53:12 2012
1 com.apple.launchd   System: Userspace shutdown took approximately 22 seconds.
1 com.apple.launchd   VM statistics (now - orig): Free: 28472 Active: -21833 Inactive: -1038 Reactivations: 0 PageIns: 25 PageOuts: 0 Faults: 1654 COW-Faults: 335 Purgeable: -849 Purges: 0
1 com.apple.launchd   System: Stray process at shutdown: PID 234 PPID 1 PGID 234 WindowServer
1 com.apple.launchd       System: About to call: reboot(RB_HALT).
Schließen Sie alle normal verwendeten Festplatten an, stellen Sie alle normal verwendeten Dateiserververbindungen her und führen Sie dann bitte den mountBefehl aus. Das Einfügen des Ergebnisses in Ihre Frage kann helfen, die Dinge einzugrenzen.
Es gibt keine normalerweise verwendeten Festplatten oder Dateiserververbindungen, ich schließe ein paar Mal pro Monat USB-Laufwerke an, aber ich habe im Moment keine, die ich ausprobieren könnte. Ich habe 'mount' ohne angeschlossene Festplatte ausgeführt, aber es ist nichts faul.
Bitte, welche Version von Little Snitch? Ist das Problem mit Safe Boot oder ohne Little Snitch reproduzierbar?
Das neueste stabile LS (2.5.3), nicht die Vorschau von Version 3. Aber dies geschah auch mit früheren 1-2-Versionen. Ich kann das nicht ohne LS oder im abgesicherten Modus testen, da dies nicht immer passiert, manchmal dauert es Tage, bis es passiert, und ich kann die Maschine nicht über längere Zeit so betreiben. Ich denke, ich würde vorerst damit leben und auf Mountain Lion upgraden und sehen, was passiert. Aber Ihre Vorschläge waren sehr hilfreich und spezifisch, also bekommen Sie das Kopfgeld.
Vielen Dank! Basierend auf Ihrem Plan, das Betriebssystem zu aktualisieren, habe ich meiner Antwort einen Abschnitt hinzugefügt. Die kürzeste Antwort ist jetzt, dass 10.8 im Vergleich zu 10.7.4 sowohl (a) weniger wahrscheinlich Kraft erfordern sollte; und (b) leichter zu diagnostizieren im Fall von Gewalt.

Antworten (8)

Ergänzend zu anderen Antworten …


Beobachten Sie den ausführlichen Modus während des Neustarts oder Herunterfahrens

Mac OS X: So starten Sie im Einzelbenutzer- oder ausführlichen Modus

– Wenn Sie im ausführlichen Modus starten, wird der Neustart oder das Herunterfahren ähnlich ausführlich sein.

Tipp: Wenn die Dinge im ausführlichen Modus nicht über einen bestimmten Punkt hinauszugehen scheinen, warten Sie vielleicht fünf Minuten, bevor Sie entweder:

  • Erzwingen eines Neustarts (Command-Control-power); oder
  • Herunterfahren erzwingen (Power-Taste gedrückt halten).

Wenn ein erzwungener Neustart nicht gelingt, könnte dies ein weiterer Hinweis auf die Ursache des Problems/der Probleme sein.

Eine verwandte Frage, wenn auch nicht problemorientiert: Kann jemand ausführliche Meldungen zum Herunterfahren interpretieren?

Der problemorientierte Fall hier sollte für Lupincho einfacher zu lösen sein. Weniger Teeblätter.

So starten Sie im ausführlichen Modus, ohne Befehlstaste-V zu drücken

Eine Präferenz kann im NVRAM gespeichert werden. Geben Sie den folgenden Befehl im Terminal ein und bereiten Sie sich darauf vor, Ihr Admin-Passwort einzugeben:

sudo nvram boot-args="-v"

Der nächste Start des Systems erfolgt ausführlich.


Systemdiagnose

Vor jedem Neustart oder Herunterfahren im Terminal:

sudo sysdiagnose

Es ist zeitaufwändig, aber Sie müssen nicht die Ergebnisse aller Läufe untersuchen. Achten Sie nur darauf, wenn ein Problem auftritt.

Für einen Fall wie Lupincho:

  • Die Ausführung von kann vor einem Neustart oder Herunterfahren sysdiagnoseein Problem aufdecken
  • Das Endergebnis von sysdiagnose kann nach einem erzwungenen Neustart oder Herunterfahren von Interesse sein.

Genauer gesagt: Wenn ein Lauf sysdiagnosenicht über einen bestimmten Punkt hinausgeht, kann die Kenntnis dieses Punktes helfen, ein Gefühl für das zugrunde liegende Problem zu bekommen.

Während des Laufs können Sie mit folgender Tastenkombination immer wieder sehen, ob es vorangeht:

  • Steuerung-T

Für den allmemoryTeil der sysdiagnoseRoutine kann Apples Zwei-Minuten-Schätzung völlig ungenau sein. Sei geduldig.

Wenn Sie vermuten, dass sysdiagnosedies nicht über einen bestimmten Punkt hinausgeht, geben Sie Folgendes ein:

  • Steuerung-C

Wenn die wiederholte Verwendung von Control-C nicht abgebrochen sysdiagnosewird, ist es (nach meiner Erfahrung mit Mountain Lion) fast sicher, dass ein Versuch, das Betriebssystem neu zu starten oder herunterzufahren, fehlschlägt.


Shutdown-Überwachung

Gehen Sie im Finder zu:

/private/var/log/shutdown_monitor.log

Diese Datei ist normalerweise leer, kann aber nach einem problematischen Herunterfahren interessante Elemente enthalten. (Ich habe wenig Erfahrung in diesem Bereich.)

Wenn der einzige Streuprozess beim Herunterfahren WindowServer ist

Es ist nicht ungewöhnlich, dass beim Herunterfahren Streuprozesse auftreten. Ein Streuner kann nur problematisch sein, wenn er nicht getötet wird.

Wenn Sie vermuten, dass WindowServer nicht beendet wird und dass dieser spezielle Streuner zum Scheitern des Herunterfahrens beiträgt: Fragen Sie sich, ob Software von Drittanbietern den WindowServer-Prozess nicht standardmäßig verwendet.

Schneller Blick auf eine GrabFS-Ansicht von WindowServer auf Mountain Lion mit zwei Anzeigen:

Geben Sie hier die Bildbeschreibung ein

Wenn Lion ähnlich ist, dann ist mein Bauchgefühl, dass die Ursache für Abschaltfehler jenseits von WindowServer liegt.


Vermutungen, basierend auf den Ergebnissen von launchctl

Während die Maschine normal läuft, welche Antwort auf den folgenden Befehl?

sudo launchctl list | grep  --invert-match com.apple

Ich frage mich, ob eine nicht von Apple stammende Software zu dem Problem beiträgt. Antiviren-, Anti-Malware-Software?


Nach einem Upgrade von Lion auf Mountain Lion

Ziele auf:

/private/var/log/com.apple.launchd/launchd-shutdown.system.log

Es scheint, dass die Standardeinstellung ein Protokoll pro Herunterfahren ist, mit maximal zwei, also gibt es auch:

/private/var/log/com.apple.launchd/launchd-shutdown.system.log.1

Nach einem erzwungenen Neustart oder erzwungenen Herunterfahren können Sie sich dafür entscheiden, eine Kopie der neuesten der beiden beiseite zu legen. Wenn mehr als einmal Gewalt erforderlich ist, können Sie Dateien vergleichen, um zu sehen, ob ein Muster erkennbar ist.

Allgemein

Schließen Sie die Möglichkeit eines Problems mit Software von Drittanbietern nicht aus, auch nicht mit der Qualität der Veröffentlichung. Little Snitch mag gut geschrieben und weithin respektiert sein, aber:

  • Wenn Probleme wie das in dieser Frage zu umfangreich oder zu rätselhaft werden, verdient jede Kernel-Erweiterung, die nicht von Apple stammt, Aufmerksamkeit.

Ich habe Build 12A269 von OS X 10.8 etwa zwei Wochen lang getestet, bevor es veröffentlicht wurde, mit besonderem Augenmerk auf das Abschaltverhalten in schwierigen Situationen . Obwohl ich mir keine Videos von der WWDC 2012 angesehen habe, habe ich das Gefühl, dass Apple sehr hart daran gearbeitet hat, die Notwendigkeit von Gewalt in allen außer den schwierigsten Situationen zu verhindern.

Aufbauend auf der Antwort von David DelMonte

Zumindest auf Mountain Lion sehe ich die Last von Little Snitch 3.0 Preview 2 (3857) sehr früh – bevor das Shutdown-Logging beginnt . Wenn Dinge, die sich auf diesen KEXT beziehen, ähnlich spät um die Abschaltzeit herum sind , dann ist ein Problem möglicherweise nicht in den üblichen Protokolldateien auf der Festplatte ersichtlich.


Wenn Sie jemals die Ursache des Problems entdecken – entweder mit Lion oder Mountain Lion – würde ich mich freuen, es zu wissen.

In der Zwischenzeit, mit großem Dank für das Kopfgeld, ein Schlussgedanke:

kextstat -l | grep --invert-match com.apple
Danke, aktiviert den ausführlichen Modus mit dem nvram-Befehl. Allerdings gibt es auch nach dem Neustart keine shutdown_monitor.log. Es gibt Dateien launchd-shutdown.log und launchd-shutdown.log.1 (es scheint, dass nur das aktuelle und 1 vorherige davon aufbewahrt werden, im Gegensatz zu anderen Protokollen), aber diese waren vorher da und ich habe sie mir vorher angesehen. Ich werde die Meldungen zum Herunterfahren im ausführlichen Modus überprüfen, hoffentlich konnte ich sehen, wo das Herunterfahren/Neustarten hängen bleibt.
Wenn ein Problem erneut auftritt, machen Sie ein oder zwei Fotos von der Ausführlichkeit. Machen Sie sich nicht zu viele Gedanken über Fokus usw., ich erkenne wichtige Punkte auch mit etwas Unschärfe. Ich habe eine Ahnung, was in Ihrem Fall nicht stimmt. Der neue sysdiagnoseTeil dieser Antwort ist möglicherweise am relevantesten.
Randbemerkung: hier mit Mountain Lion habe ich /private/var/log/kernel-shutdown.log(mit Informationen, die für mich nützlich sind) aber nicht /private/var/log/launchd-shutdown.log.
Danke für den 'sysdiagnose'-Hinweis, einfach ausführen, ging gut, werde es noch einmal versuchen. Wie Sie sagten, dauert es einige Zeit, sonst könnte ich es in den Logout-Hook stecken, um es jedes Mal auszuführen.
Automatisierung ist verlockend, aber ich sollte davon absehen, sysdiagnoseein Abmeldeelement zu erstellen. Im Grenzfall könnte die Automatisierung eine schwierige Situation verschlimmern.
Keine Antiviren- oder Antimalware-Software; nur kleiner Schnatz. Die Ausgabe dieses launchctl-Befehls zeigt Apple-Software - 0 com.microsoft.office.licensing.helper; - 0 com.adobe.fpsaud; 68 - at.obdev.littlesnitchd

Gehen Sie zu Anwendungen -> Dienstprogramme und öffnen Sie die Konsole

Schauen Sie sich die Datei system.log an, vielleicht finden Sie dort etwas.

Ich sehe da nichts Seltsames.
Gute Antwort von Revolver. +1. Könnten Sie die system.log-Einträge kopieren und in Ihre Frage einfügen, die Sie sehen, nachdem Sie das Herunterfahren angefordert haben - und vielleicht ein paar Minuten vorher. Fügen Sie sie in Ihre ursprüngliche Frage ein.
Ich habe system.log in der Vergangenheit mehrmals durchgesehen und im Vergleich zu ordnungsgemäßen Herunterfahren nichts Ungewöhnliches gefunden. Werde das nächste Mal abwarten, wenn dies passiert, und die Protokolle erneut überprüfen. Ich hätte klarstellen sollen, dass mir die allgemeinen Protokolle bekannt sind, und werde dies in meinem ursprünglichen Beitrag aktualisieren.

pmset -g assertionserhält eine Zusammenfassung der Machtaussagen:

$ pmset -g assertions
Assertion status system-wide:
   PreventUserIdleDisplaySleep             0
   CPUBoundAssertion                       0
   DisableInflow                           0
   ChargeInhibit                           0
   PreventSystemSleep                      0
   PreventUserIdleSystemSleep              1
   ExternalMedia                           1
   DisableLowPowerBatteryWarnings          0
   EnableIdleSleep                         1
   NoRealPowerSources_debug                0
   UserIsActive                            0
   ApplePushServiceTask                    0

Listed by owning process:
  pid 153: [0x00000099012c023b] PreventUserIdleSystemSleep named: "com.apple.audio.'AppleUSBAudioEngine:Apple Inc.:Display Audio:15261930:2,1'.noidlesleep" 
  pid 19: [0x00000013012c0235] ExternalMedia named: "com.apple.powermanagement.externalmediamounted" 

Sie können den Pfad eines Prozesses anzeigen mit ps up $pid:

$ ps up 153
USER          PID  %CPU %MEM      VSZ    RSS   TT  STAT STARTED      TIME COMMAND
_coreaudiod   153   0.0  0.2  2475000   6740   ??  Ss   Fri05PM  12:17.71 /usr/sbin/coreaudiod
Ich starte es und zeigt nichts. Das Problem ist, dass ich nach dem Herunterfahren/Neustart keine Befehle ausführen kann. Das Problem tritt auch nicht immer auf, daher müsste ich dies häufig überprüfen oder ein Skript schreiben, um die Informationen in einer Datei zu speichern, damit ich nach einem problematischen Herunterfahren/Neustart zu dieser Datei zurückkehren und sehen kann, ob etwas angezeigt wird . Aber das scheint ein guter Ausgangspunkt zu sein, vielen Dank!

Ich hatte dieses Problem und habe eine Lösung gefunden, die für mich funktioniert hat. Obwohl ich Ihre Frage nicht direkt beantworte (wie man überprüft, was das Problem verursacht), ist es eine Lösung, die einen Versuch wert sein könnte:

  1. Navigieren Sie zu "Macintosh HD > Bibliothek".
  2. Löschen Sie den Ordner mit dem Namen "Java".
  3. Leerer Müll
  4. Stilllegen
  5. Sobald Sie etwas Java-bezogenes ausführen, werden Sie aufgefordert, Java neu zu installieren, tun Sie dies.

Danach sollte sich die Abschaltzeit verbessern. Hinweis: Ich werde immer noch langsam heruntergefahren, wenn ich sofort nach dem Systemstart herunterfahre. Nachdem Sie also die Schritte befolgt haben und testen möchten, warten Sie nach dem Systemstart einige Minuten, bevor Sie herunterfahren.

Das ist interessant; habe das gemacht, mal sehen was passiert. Das Problem ist, dass es nicht jedes Mal passiert, also besteht die einzige Möglichkeit zur Überprüfung darin, mehrere Tage zu warten, und wenn es nicht erneut passiert, kann dies bedeuten, dass es behoben ist.
Es hat nicht funktioniert, nur ein Problem beim Herunterfahren der Maschine.
  1. Haben Sie Peripheriegeräte angeschlossen (USB, FW usw.)?

Wenn ja, wäre es interessant, alles zu trennen und zu sehen, ob das Problem besteht.

  1. Haben Sie versucht, Berechtigungen zu reparieren und die Dateiintegrität zu überprüfen?

Hoffe, diese helfen.

Ich habe Reparaturberechtigungen gemacht. Keine Peripheriegeräte, nicht einmal ein Ethernet-Kabel. Werde diese Informationen der Frage hinzufügen.
Peripherie – immer gut zu berücksichtigen, wenn (wie in Lupinchos Frage) ein Problem mit I/O vermutet wird. Berechtigungen – IMHO werden wahrscheinlich niemals ein Herunterfahren des Betriebssystems verhindern. Desintegration – möglich, aber für mich riecht die Frage in ihrer jetzigen Form eher nach Softwareproblemen. (Nebenbemerkung zur Integrität: Welche kostenlose oder Open-Source-Software kann ich mit Mac-Hardware verwenden, um die Integrität jedes Blocks einer Festplatte zu überprüfen, auf der Core Storage verwendet wird? – im Moment zu viel Technogeschwätz, irgendwann sollte es zu etwas viel verdichten einfacher.)

Einige weitere Ideen:

  1. Erstellen Sie ein weiteres Benutzerkonto. Melden Sie sich nur mit diesem Testkonto an. Wenn Sie das Problem nicht haben, liegt es wahrscheinlich an Ihrer Benutzersoftware. Wenn Sie das Problem haben, ist es möglich, dass es an der Hardware liegt.

  2. Versuchen Sie, das Problem nur mit Batteriestrom zu reproduzieren.

  3. Befolgen Sie die Schritte für den System Management Controller von Apple -

Zurücksetzen des System Management Controller (SMC) Zurücksetzen des SMC auf tragbaren Macs mit einem Akku, den Sie entfernen können

Den Computer herunterfahren. Trennen Sie das MagSafe-Netzteil vom Computer, falls es angeschlossen ist. Entfernen Sie die Batterie. Halten Sie den Netzschalter 5 Sekunden lang gedrückt. Lassen Sie den Netzschalter los. Schließen Sie den Akku und das MagSafe-Netzteil wieder an. Drücken Sie den Netzschalter, um den Computer einzuschalten.

In erster Linie für Ihre Idee gestimmt (1). Bei Idee (2) mit den aktuell beschriebenen Symptomen würde ich persönlich keinen Unterschied mit Batteriebetrieb allein vermuten. Probleme wie Lupinchos sind jedoch ohne direkten Zugang überraschend schwer zu diagnostizieren … also keine schlechte Idee. Idee (3), Probleme, die durch einen Reset gelöst werden, sind (für mich) äußerst selten … aber wieder keine schlechte Idee – schnell und einfach durchzuführen, also gewinnt auch dies meine Stimme.

Ich wusste nicht, dass du Little Snitch am Laufen hast. Ich habe gerade ein ähnliches Problem für einen Freund gelöst, indem ich LS entfernt habe. Ich schlage vor, Sie versuchen das. Laden Sie das LS-Installationsprogramm erneut herunter, um es ordnungsgemäß zu entfernen. Führen Sie das Installationsprogramm aus, aber wählen Sie Deinstallieren.

Ich bin auch neugierig, warum Sie diese App verwenden möchten.

Noch nicht in der Frage, wurde Little Snitch erstmals in (mehr) Kommentaren zu einer Antwort erwähnt.
Bitte: lief auf dem Computer Ihres Freundes Lion oder Mountain Lion? Welche Version von Little Snitch wurde deinstalliert?
Das war Löwe. Ich kenne die LS-Version nicht.. Entschuldigung.
Es gibt keinen Beweis dafür, dass LS das verursacht, und da das Problem nicht jedes Mal auftritt, würde das Testen ohne LS leider mehrere Tage dauern, in denen ich LS nicht verlieren kann. Was den Grund für den Betrieb von LS betrifft: Es gibt zu viele Programme, die nach Hause telefonieren, und es ist nur eine weitere Kontrollebene für ausgehenden Datenverkehr. Was ich letztendlich tun würde, ist ein Upgrade auf Version 3, wenn sie offiziell veröffentlicht wird.
Für Fehlerbehebungszwecke kann Little Snitch aus mindestens zwei Gründen anders behandelt werden als andere KEXTs von Drittanbietern: (i) das frühe Laden und (ii) seine Platzierung in der Systemdomäne unter /System/Library/Extensions. Mit Anerkennung für David habe ich meiner Antwort einen Abschnitt hinzugefügt.

Meine Freundin hatte lediglich die Verzeichnisse für Parallelen gelöscht, indem sie das Verzeichnis per Drag & Drop in den Papierkorb gezogen und den Papierkorb geleert hatte. Ich habe jedoch im Bibliotheksordner wieder Parallelen gefunden, und es gab ein Shell-Skript (.sh-Datei), um es ordnungsgemäß zu deinstallieren. Dies funktionierte und löste unsere Probleme mit langem Booten.

Ich erwähne dies, weil Parallelen eine bekannte Ursache für viele langsame Starts sind und es scheint, dass es nicht so einfach zu deinstallieren ist, wie auf der Website angegeben ist (einfach das Verzeichnis ziehen und ablegen).

Happy Trails, hoffe das hilft jemandem.