Zrychlete proces vypnutí v systému OS X

Po vypnutí počítače Mac OS X se pokusí čistě ukončit programy a služby na pozadí; avšak za určitých okolností může trvat výjimečně dlouhá doba, takže systém čeká na chvíli, než se konečně zastaví. Někdy je to systém, který čeká na interakci, jako je uložení dokumentu, ale jindy je to proto, že služby na pozadí přestaly reagovat a systém čeká předem stanovenou dobu, než je nutí ukončit.

Obecně by operační systém OS X měl trvat jen několik sekund, než se vypne, takže pokud váš systém trvale trvá dlouhou dobu, což naznačuje problém, který je třeba řešit. Někdy to může být prostě problematické periferní zařízení nebo dvě, nebo by to mohlo být z nějaké chybné konfigurace vašeho systému. V takových případech byste měli zkusit některé základní postupy při odstraňování problémů, které vám pomohou identifikovat a odstranit problém.

Pokud však narazíte na delší odstávky pravidelně, ale v náhodnějších intervalech, mohou být situační a mohou být způsobeny tím, že systém čeká na ukončení některých procesů na pozadí.

Ve výchozím nastavení bude systém čekat, až se procesy na pozadí skončí samostatně, ale pokud ne, tak po 20 sekundách zašle takové procesy signál zabití a pokud tyto procesy vyprší v různých intervalech, může to prodloužit vypnutí počet minut.

Proto u některých procesů na pozadí, které mají tendenci zavěsit více než jiné, jednoduše změnou této výchozí 20 sekundové doby na nižší hodnotu způsobí, že systém dříve ukončí tyto procesy. Zatímco vynucování procesů ukončení není nejlepší praxí, systém je již připraven k tomu během vypnutí. Opět platí, že operační systém OS X dovoluje procesu pouze 20sekundové okno, aby systém opustil, a systém pak bude silně zabíjet.

Služby pozadí, které se v těchto časových obdobích zdají být obyčejné, jsou takové, které zpracovávají komunikaci mezi procesy, správu autentizace a činnost disku a síťových prostředků. V OS X to zahrnuje následující:

  • AppleEvents - Umožňuje procesům komunikovat a navzájem si povzbuzovat (a je základem pro AppleScript). Může dojít k vypršení časového limitu z přerušení komunikace mezi procesy (například když je jeden proces nucen ukončit, když jsou spravovány události).
  • securityd - Spravuje přístup k klíčům a jiným bezpečnostním oprávněním a může v případě čekání na uživatelskou interakci vynechat nějakou žádost o ověření.
  • mDNSResponder - Správa vícesměrových DNS akcí včetně automatického zjišťování síťových serverů a služeb. To může vypršet z problémů s konfigurací místní sítě.
  • diskarbitrationd - rozhodce disk monitoruje montáž a přístupnost místních souborových systémů a může vypršet čas z chyby v použitých jednotkách nebo pokud jednotka přechází do režimu offline nebo do režimu spánku a chvíli trvá, než se probudí.
  • Autentizace ID systému Apple - spravuje ověření vašeho Apple ID pro různé služby; může čas vyloučit ze špatného přístupu k síti nebo nedostatečné reakce ze serverů společnosti Apple.

Správa časových limitů těchto procesů se provádí spouštěcím systémem spouštěcího procesu, který obsahuje 20 sekundový časový limit pro procesy. Pokynem, aby spouštěč zkrátil tuto dobu dokonce o polovinu, můžete podstatně urychlit odstavení, které z důvodu těchto procesů zaostávají.

Chcete-li změnit časové limity, je třeba upravit soubory spouštěcích démonů, které systém používá pro tyto služby, takže nejprve se ujistěte, že máte zálohu systému a spusťte následující příkazy, které můžete zkopírovat a vložit (každý příkaz je dva řádky) do nástroje Terminál OS X (ve složce Aplikace> Nástroje):

sudo výchozí zápis / System / Library / LaunchDaemons / c \

om.apple.coreservices.appleevents ExitTimeOut -int 5

sudo výchozí zápis / System / Library / LaunchDaemons / c \

om.apple.securityd ExitTimeOut -int 5

sudo výchozí zápis / System / Library / LaunchDaemons / c \

om.apple.mDNSResponder ExitTimeOut -int 5

sudo výchozí zápis / System / Library / LaunchDaemons / c \

om.apple.diskarbitrationd ExitTimeOut -int 5

sudo výchozí zápis / System / Library / LaunchAgents / com. \

apple.coreservices.appleid.authentication ExitTimeOut -int 5

V těchto povalech, jak bylo napsáno výše, je hodnota časového limitu nastavena na hodnotu "5", což znamená, že systém počká 5 sekund před zabitím procesu během vypnutí, ale můžete jej změnit na libovolnou celočíselnou hodnotu větší než nula (hodnota nula zakáže timeout, takže by to čekalo neomezeně). Všimněte si, že se jedná o příkazy "sudo", což znamená, že když spustíte první, budete muset zadat vaše heslo administrátora (které se po vyzvání nezobrazí v Terminálu), ale pak nebude nutné zadat heslo pro následující příkazy .

Vložte oba řádky každého z výše uvedených příkazů do terminálu, změňte hodnotu 5 na jiné číslo, pokud si přejete (příkazy můžete kdykoli znovu spustit s různými hodnotami). Po dokončení restartujte počítač a zjistěte, zda se tím zlepšují doby vypnutí.

Chcete-li tyto akce zrušit, můžete příkazy znovu spustit, ale s hodnotou 20, nebo můžete spustit následující příkazy k odebrání položky nastavení "ExitTimeOut", které ve výchozím nastavení není zahrnuto do těchto spouštěcích skriptů démona a agenta:

sudo výchozí smazat / System / Library / LaunchDaemons / c \

om.apple.coreservices.appleevents ExitTimeOut

sudo výchozí smazat / System / Library / LaunchDaemons / c \

om.apple.securityd ExitTimeOut

sudo výchozí smazat / System / Library / LaunchDaemons / c \

om.apple.mDNSResponder ExitTimeOut

sudo výchozí smazat / System / Library / LaunchDaemons / c \

om.apple.diskarbitrationd ExitTimeOut

sudo výchozí smazat / System / Library / LaunchAgents / com \

.apple.coreservices.appleid.authentication ExitTimeOut


 

Zanechte Svůj Komentář