Beschleunigen Sie das Herunterfahren in OS X

Wenn Sie Ihren Mac herunterfahren, versucht OS X, Programme und Hintergrunddienste sauber zu beenden. Dies kann jedoch unter Umständen außergewöhnlich lange dauern, so dass das System Minuten warten muss, bevor es endgültig heruntergefahren wird. Manchmal wartet das System auf eine Interaktion, z. B. wenn Sie ein Dokument speichern, aber manchmal, weil Hintergrunddienste nicht mehr reagieren und das System eine vorgegebene Zeitspanne wartet, bevor sie das Beenden erzwingen.

Im Allgemeinen sollte OS X nur wenige Sekunden zum Herunterfahren benötigen. Wenn Ihr System daher dauerhaft lange dauert, deutet dies auf ein Problem hin, das angegangen werden muss. In manchen Fällen handelt es sich hierbei möglicherweise einfach um ein oder zwei problematische Peripheriegeräte oder um eine fehlerhafte Konfiguration Ihres Systems. In diesen Fällen sollten Sie einige grundlegende Fehlerbehebungsverfahren versuchen, um das Problem zu identifizieren und zu beheben.

Wenn Sie jedoch regelmäßig, jedoch in mehr zufälligen Intervallen zu längeren Stillständen kommen, kann dies situativ sein und durch das System verursacht werden, das auf das Beenden einiger Hintergrundprozesse wartet.

Standardmäßig wartet das System darauf, dass Hintergrundprozesse von selbst beendet werden. Wenn dies nicht der Fall ist, sendet das System nach 20 Sekunden ein Kill-Signal. Wenn diese Prozesse in unterschiedlichen Intervallen ablaufen, kann dies zu einem Herunterfahren des Systems führen Anzahl der Minuten

Bei einigen Hintergrundprozessen, die dazu neigen, mehr als andere aufzulegen, führt das einfache Ändern des Standardwerts von 20 Sekunden zu einem niedrigeren Wert dazu, dass das System diese Prozesse früher beendet. Zwar ist es nicht die beste Vorgehensweise, Prozesse zum Abbruch zu zwingen, aber das System bereitet sich bereits beim Herunterfahren darauf vor. Wieder erlaubt OS X dem Prozess nur ein 20-Sekunden-Fenster, und das System bricht den Prozess dann mit Gewalt ab.

Die Hintergrunddienste, die bei solchen Zeitüberschreitungen häufig üblich zu sein scheinen, sind diejenigen, die Interprozesskommunikation, Authentifizierungsverwaltung und Festplatten- und Netzwerkressourcenaktivität handhaben. In OS X gehören dazu die folgenden:

  • AppleEvents - Dadurch können Prozesse miteinander kommunizieren und sich gegenseitig steuern (und bilden die Grundlage für AppleScript). Bei Unterbrechungen in der Interprozesskommunikation tritt möglicherweise eine Zeitüberschreitung auf (z. B. wenn ein Prozess beim Verwalten von Ereignissen zwangsweise beendet wird).
  • securityd - Dies verwaltet den Zugriff auf Schlüsselbunde und andere Sicherheitsberechtigungen und kann Zeitüberschreitungen verursachen, wenn auf eine Benutzeranforderung für eine Authentifizierungsanforderung gewartet wird.
  • mDNSResponder - Verwaltet Multicast-DNS-Aktionen, einschließlich der automatischen Erkennung von Netzwerkservern und -diensten. Dies kann zu Problemen mit der lokalen Netzwerkkonfiguration führen.
  • diskarbitrationd - Der Disk-Arbitrator überwacht das Einhängen und den Zugriff auf lokale Dateisysteme und kann aufgrund eines Fehlers in den verwendeten Laufwerken eine Zeitüberschreitung verursachen oder wenn ein Laufwerk offline geht oder in den Ruhemodus wechselt und das Aufwecken eine Weile dauert.
  • Apple-ID-Authentifizierung - verwaltet die Überprüfung Ihrer Apple-ID für verschiedene Dienste. Möglicherweise kommt es aufgrund eines schlechten Netzwerkzugriffs oder einer fehlenden Antwort von Apple-Servern zu einem Timeout.

Die Verwaltung der Zeitüberschreitungen dieser Prozesse erfolgt durch den Systemstart-Prozess launchd, der die Standardzeitüberschreitung für Prozesse von 20 Sekunden enthält. Indem Sie den Launcher anweisen, diese Zeit sogar um die Hälfte zu verkürzen, können Sie Herunterfahren, die aufgrund dieser Prozesse verzögert werden, erheblich beschleunigen.

Um die Zeitüberschreitungen zu ändern, müssen Sie die Start-Daemon-Dateien ändern, die das System für diese Dienste verwendet. Stellen Sie daher zunächst sicher, dass Sie über eine Sicherung Ihres Systems verfügen, und führen Sie dann die folgenden Befehle aus, die Sie kopieren und einfügen können (jeder Befehl ist zwei Zeilen) in das Dienstprogramm von OS X Terminal (im Ordner Applications> Utilities):

Sudo-Standardwerte schreiben / System / Library / LaunchDaemons / c \

om.apple.coreservices.appleevents ExitTimeOut -int 5

Sudo-Standardwerte schreiben / System / Library / LaunchDaemons / c \

om.apple.securityd ExitTimeOut -int 5

Sudo-Standardwerte schreiben / System / Library / LaunchDaemons / c \

om.apple.mDNSResponder ExitTimeOut -int 5

Sudo-Standardwerte schreiben / System / Library / LaunchDaemons / c \

om.apple.diskarbitrationd ExitTimeOut -int 5

Sudo-Standardwerte schreiben / System / Library / LaunchAgents / de. \

apple.coreservices.appleid.authentication ExitTimeOut -int 5

In diesen Befehlen, wie oben beschrieben, ist der Zeitüberschreitungswert auf "5" gesetzt, was bedeutet, dass das System 5 Sekunden wartet, bevor ein Prozess während des Herunterfahrens abgebrochen wird. Sie können diesen Wert jedoch in einen beliebigen ganzzahligen Wert über Null ändern (ein Wert von Null deaktiviert das Timeout, also würde es unbegrenzt warten). Beachten Sie, dass es sich hierbei um "sudo" -Befehle handelt. Wenn Sie also den ersten Befehl ausführen, müssen Sie Ihr Administratorkennwort angeben (das im Terminal nicht angezeigt wird, wenn Sie dazu aufgefordert werden), das Kennwort für die nachfolgenden Befehle jedoch nicht .

Fügen Sie beide Zeilen jedes oben angegebenen Befehls in das Terminal ein, und ändern Sie den Wert 5 in eine andere Zahl, wenn Sie möchten (Sie können die Befehle jederzeit mit anderen Werten erneut ausführen). Wenn Sie damit fertig sind, starten Sie Ihren Computer neu und sehen Sie dann, ob dies die Zeit beim Herunterfahren verbessert.

Um diese Aktionen rückgängig zu machen, können Sie die Befehle erneut ausführen, jedoch mit dem Wert 20, oder Sie können die folgenden Befehle ausführen, um den Eintrag "ExitTimeOut" zu entfernen, der standardmäßig nicht in diesen Start-Daemon- und Agent-Skripts enthalten ist:

Sudo-Standardwerte löschen / System / Library / LaunchDaemons / c \

om.apple.coreservices.appleevents ExitTimeOut

Sudo-Standardwerte löschen / System / Library / LaunchDaemons / c \

om.apple.securityd ExitTimeOut

Sudo-Standardwerte löschen / System / Library / LaunchDaemons / c \

om.apple.mDNSResponder ExitTimeOut

Sudo-Standardwerte löschen / System / Library / LaunchDaemons / c \

om.apple.diskarbitrationd ExitTimeOut

Sudo-Standardwerte löschen / System / Library / LaunchAgents / com \

.apple.coreservices.appleid.authentication ExitTimeOut


 

Lassen Sie Ihren Kommentar