Po vypnutí počítača Mac sa systém OS X pokúsi o čisté ukončenie programov a služieb na pozadí. za určitých okolností to môže trvať mimoriadne dlhý čas, takže systém čaká niekoľko minút, kým sa konečne vypne. Niekedy ide o systém, ktorý čaká na interakciu, ako je uloženie dokumentu, ale inokedy je to preto, že služby na pozadí prestali reagovať a systém čaká vopred stanovený čas pred tým, než ich núti ukončiť.
Vo všeobecnosti by mal OS X trvať len niekoľko sekúnd, kým sa vypne, takže ak váš systém trvá dlho, čo naznačuje problém, ktorý je potrebné riešiť. Niekedy to môže byť jednoducho problematické periférne zariadenie alebo dve, alebo to môže byť spôsobené nejakou chybnou konfiguráciou vášho systému. V takýchto prípadoch by ste mali vyskúšať niekoľko základných postupov na riešenie problémov, ktoré vám pomôžu identifikovať a odstrániť problém.
Avšak ak narazíte na dlhé odstavenia pravidelne, ale v náhodnejších intervaloch, môžu byť situačné a môžu byť spôsobené tým, že systém čaká na ukončenie niektorých procesov na pozadí.
Systém predvolene čaká, aby sa procesy na pozadí skončili sami, ale ak nie, tak po 20 sekundách zašle takéto procesy signál o zabití a ak tieto procesy vypršia v rôznych intervaloch, môže to predĺžiť vypnutie na počet minút.
Preto v prípade niektorých procesov na pozadí, ktoré majú tendenciu zavesiť viac ako ostatné, zmena tejto predvolenej 20-sekundovej doby na nižšiu hodnotu spôsobí, že systém opustí tieto procesy skôr. Zatiaľ čo nútené procesy ukončiť nie je najlepšou praxou, systém je už pripravený k tomu počas vypnutia. Opäť OS X umožňuje proces iba 20-sekundové okno, aby opustil, a potom systém zabije proces silno.
Služby pozadia, ktoré sa zdajú byť obyčajnými vinníkmi v takýchto časových limitoch, sú tie, ktoré zvládajú komunikáciu medzi procesmi, správu autentifikácie a aktivitu diskov a sieťových zdrojov. V OS X tieto zahŕňajú:
- AppleEvents - umožňuje procesy komunikovať a navzájom si povoľovať (a je základom pre AppleScript). Môže dôjsť k vypršaniu časového intervalu z prerušenia komunikácie medzi procesmi (napríklad ak je jeden proces nútený ukončiť správu udalostí).
- securityd - spravuje prístup k kľúčovým reťazcom a iným bezpečnostným oprávneniam a môže v prípade čakania na interakciu používateľa s určitou požiadavkou na autentifikáciu vypršať.
- mDNSResponder - Spravuje akcie DNS multicast vrátane automatického vyhľadávania sieťových serverov a služieb. Môže sa to vyhnúť problémom s konfiguráciou lokálnej siete.
- Diskarbitrationd - Rozhodca disku monitoruje montáž a prístupnosť lokálnych súborových systémov a môže sa vyhnúť poruche v používaných jednotkách alebo ak jednotka prechádza do režimu offline alebo do režimu spánku a chvíľu sa zobudí.
- Autentifikácia ID systému Apple - spravuje overenie vašej identifikácie Apple pre rôzne služby; môže čas vypršať z nedostatočného prístupu k sieti alebo nedostatku odpovede od serverov spoločnosti Apple.
Spravovanie oneskorení týchto procesov sa vykonáva spustením procesu spúšťača systému, ktorý obsahuje 20 sekúnd predvolený časový limit pre procesy. Pokynom, aby spúšťač skrátil toto obdobie dokonca o polovicu, môžete výrazne urýchliť odstávky, ktoré z dôvodu týchto procesov zaostávajú.
Ak chcete zmeniť časové limity, budete musieť upraviť súbory daemon spustenia, ktoré systém používa pre tieto služby, takže najskôr sa uistite, že máte zálohu vášho systému a potom spustite nasledujúce príkazy, ktoré môžete skopírovať a prilepiť (každý príkaz je dva riadky) do pomôcky Terminal OS X (v priečinku Applications> Utilities):
sudo predvolené zápisy / System / Library / LaunchDaemons / c \
om.apple.coreservices.appleevents ExitTimeOut -int 5
sudo predvolené zápisy / System / Library / LaunchDaemons / c \
om.apple.securityd ExitTimeOut -int 5
sudo predvolené zápisy / System / Library / LaunchDaemons / c \
om.apple.mDNSResponder ExitTimeOut -int 5
sudo predvolené zápisy / System / Library / LaunchDaemons / c \
om.apple.diskarbitrationd ExitTimeOut -int 5
sudo predvolené zápisy / System / Library / LaunchAgents / com. \
apple.coreservices.appleid.authentication ExitTimeOut -int 5
V týchto príkazoch, ako je uvedené vyššie, je hodnota časového limitu nastavená na hodnotu "5", čo znamená, že systém pred vyradením procesu po vypnutí čaká 5 sekúnd, ale môžete ho zmeniť na ľubovoľnú celočíselnú hodnotu väčšiu ako nula (hodnota nula zakáže časový limit, takže by čakal na neurčito). Všimnite si, že ide o "sudo" príkazy, čo znamená, že pri spustení prvej musíte poskytnúť heslo administrátora (ktoré sa po vyzvaní nezobrazí na termináli), ale potom nebude potrebné poskytnúť heslo pre nasledujúce príkazy,
Prilepte oba riadky každého z vyššie uvedených príkazov do terminálu, ak si želáte zmenu hodnoty 5 na iné číslo (príkazy môžete kedykoľvek spustiť s rôznymi hodnotami). Po dokončení reštartujte počítač a potom zistite, či sa tým zlepšujú časy vypínania.
Ak chcete tieto akcie vrátiť späť, môžete spustiť príkazy znova, ale s hodnotou 20, alebo môžete spustiť nasledujúce príkazy na odstránenie položiek nastavení "ExitTimeOut", ktoré štandardne nie sú zahrnuté v týchto spúšťacích démonoch a skriptoch agentov:
sudo predvolené vymazať / System / Library / LaunchDaemons / c \
om.apple.coreservices.appleevents ExitTimeOut
sudo predvolené vymazať / System / Library / LaunchDaemons / c \
om.apple.securityd ExitTimeOut
sudo predvolené vymazať / System / Library / LaunchDaemons / c \
om.apple.mDNSResponder ExitTimeOut
sudo predvolené vymazať / System / Library / LaunchDaemons / c \
om.apple.diskarbitrationd ExitTimeOut
sudo predvolené vymazať / System / Library / LaunchAgents / com \
.apple.coreservices.appleid.authentication ExitTimeOut
Zanechajte Svoj Komentár