Paspartinti OS X sustabdymo procesą

Kai išjungiate „Mac“, OS X bandys išvalyti programas ir fonines paslaugas; tačiau tam tikromis aplinkybėmis tai gali užtrukti labai ilgai, todėl sistema laukia minučių, kol galiausiai bus išjungtas. Kartais tai yra sistema, laukianti sąveikos, pvz., Išsaugant dokumentą, bet kitu metu tai yra todėl, kad foninės paslaugos nustojo reaguoti ir sistema laukia iš anksto nustatyto laiko, kol jie verčia juos mesti.

Paprastai OS X turėtų užtrukti tik kelias sekundes, todėl, jei jūsų sistema nuolat imasi daug laiko, tai rodo problemą, kurią reikia spręsti. Kartais tai gali būti tiesiog probleminis išorinis įrenginys arba du, arba tai gali būti dėl kai kurių netinkamos sistemos konfigūracijos. Tokiais atvejais turėtumėte pabandyti atlikti keletą pagrindinių trikčių šalinimo procedūrų, kad nustatytumėte ir išspręstumėte problemą.

Tačiau jei reguliariai susiduriate su ilgomis uždarymomis, bet atsitiktiniais intervalais, tada jie gali būti situaciniai ir gali kilti dėl to, kad sistema laukia kai kurių foninių procesų.

Pagal numatytuosius nustatymus sistema laukia, kol fono procesai baigsis savarankiškai, bet jei ne, tai po 20 sekundžių išsiųs tokius procesus nužudymo signalui, o jei šie procesai bus vykdomi skirtingais intervalais, tai gali išplėsti išjungimą iki minučių skaičius.

Todėl kai kuriems foniniams procesams, kurie linkę pakabinti daugiau nei kiti, paprasčiausiai pakeitus šį numatytąjį 20 sekundžių laiką į mažesnę vertę, sistema išeis iš šių procesų anksčiau. Nors priversti procesus nutraukti, tai nėra geriausia praktika, sistema jau pradeda tai daryti uždarymo metu. Vėlgi, OS X leidžia tik 20 sekundžių langui išeiti, o sistema nužudys procesą.

Foninės paslaugos, kurios, atrodo, yra bendros kaltės tokiuose laiko tarpuose, yra tos, kurios apdoroja procesų tarpusavio ryšį, autentiškumo valdymą ir diskų bei tinklo išteklių veiklą. OS X yra šie:

  • „AppleEvents“ - tai leidžia procesams bendrauti ir valdyti vienas kitą (ir yra AppleScript pagrindas). Tai gali užtrukti iš pertraukų tarpprocesinio ryšio metu (pavyzdžiui, jei vienas procesas yra priverstas mesti, kai įvykiai yra valdomi).
  • securityd - tai valdo prieigą prie raktų ir kitų saugumo leidimų, ir gali pristabdyti, jei laukia vartotojo sąveikos dėl kai kurių autentifikavimo užklausų.
  • mDNSResponder - valdo daugiaadresio DNS veiksmus, įskaitant automatinį tinklo serverių ir paslaugų atradimą. Dėl to gali kilti problemų dėl vietinio tinklo konfigūracijos.
  • diskarbitrationd - Diskų arbitras stebi vietinių failų sistemų montavimą ir prieinamumą, ir gali ištrūkti iš naudojamų diskų gedimo, arba, jei diskas vyksta neprisijungus arba į pristabdytosios veiksenos režimą ir trunka šiek tiek laiko pabusti.
  • „Apple ID“ autentifikavimas - valdo jūsų „Apple“ ID tikrinimą įvairioms paslaugoms; gali pritrūkti prastos prieigos prie tinklo arba nepakankamo atsakymo iš „Apple“ serverių.

Šių procesų laiko tarpų valdymą atlieka sistemos paleidimo procesas, kuris turi 20 sekundžių numatytą laiką procesams. Nurodydamas paleidiklį sutrumpinti šį laikotarpį net per pusę, galite žymiai pagreitinti atsilikimą, kuris atsilieka dėl šių procesų.

Jei norite keisti laiką, turėsite pakeisti paleidimo demono failus, kuriuos sistema naudoja šioms paslaugoms, todėl pirmiausia įsitikinkite, kad turite sistemos atsarginę kopiją, ir tada paleiskite šias komandas, kurias galite kopijuoti ir įklijuoti (kiekviena komanda yra dvi eilutes) į OS X terminalo įrankį (aplanke Applications> Utilities):

sudo defaults write / System / Library / LaunchDaemons / c \ t

om.apple.coreservices.appleevents ExitTimeOut -int 5

sudo defaults write / System / Library / LaunchDaemons / c \ t

om.apple.securityd ExitTimeOut -int 5

sudo defaults write / System / Library / LaunchDaemons / c \ t

om.apple.mDNSRespondentas ExitTimeOut -int 5

sudo defaults write / System / Library / LaunchDaemons / c \ t

om.apple.diskarbitrationd ExitTimeOut -int 5

sudo defaults write / System / Library / LaunchAgents / com.

apple.coreservices.appleid.authentication ExitTimeOut -int 5

Šiose pirmiau aprašytose komandose laiko nustatymo reikšmė yra nustatyta į "5", o tai reiškia, kad sistema laukia 5 sekundes prieš nužudydama procesą išjungimo metu, tačiau jūs galite pakeisti bet kurią sveiko skaičiaus reikšmę, didesnę už nulį (nulio vertė išjungia laikas, todėl jis lauktų neribotą laiką). Atkreipkite dėmesį, kad tai yra „sudo“ komandos, o tai reiškia, kad, paleisdami pirmąjį, turėsite pateikti savo administratoriaus slaptažodį (kuris nebus rodomas Terminale, kai bus prašoma), bet tada nereikės pateikti būsimų komandų slaptažodžio .

Įterpkite abu pirmiau minėtos komandos eilutes į terminalą, jei norite, pakeisdami 5 reikšmę į kitą numerį (galite paleisti komandas bet kuriuo metu su skirtingomis reikšmėmis). Baigę paleiskite kompiuterį iš naujo ir pamatysite, ar tai pagerina išjungimo laiką.

Jei norite atšaukti šiuos veiksmus, galite paleisti komandas dar kartą, bet jų vertė yra 20, arba galite paleisti šias komandas, kad pašalintumėte „ExitTimeOut“ nustatymų įrašą, kuris pagal nutylėjimą nėra įtrauktas į šiuos paleidimo demono ir agento scenarijus:

sudo defaults ištrinti / System / Library / LaunchDaemons / c \ t

om.apple.coreservices.appleevents ExitTimeOut

sudo defaults ištrinti / System / Library / LaunchDaemons / c \ t

om.apple.securityd ExitTimeOut

sudo defaults ištrinti / System / Library / LaunchDaemons / c \ t

om.apple.mDNSRespondentas ExitTimeOut

sudo defaults ištrinti / System / Library / LaunchDaemons / c \ t

om.apple.diskarbitrationd ExitTimeOut

sudo defaults ištrinti / System / Library / LaunchAgents / com \ t

.apple.coreservices.appleid.authentication ExitTimeOut


 

Palikite Komentarą