Gyorsítsa az OS X leállítási folyamatát

A Mac leállításakor az OS X megpróbálja megtisztítani a programokat és a háttérszolgáltatásokat; bizonyos körülmények között azonban ez rendkívül hosszú időt vehet igénybe, így a rendszer percekre vár, mielőtt végül leállna. Néha ez a rendszer vár egy interakciót, mint például egy dokumentum mentése, de máskor ez azért van, mert a háttérszolgáltatások nem válaszoltak, és a rendszer előre meghatározott időre vár, mielőtt kényszerítené őket kilépni.

Általában az OS X-nek csak néhány másodpercre van szüksége ahhoz, hogy leálljon, így ha a rendszer következetesen hosszú időt vesz igénybe, egy olyan problémát javasol, amelyet meg kell oldani. Néha ez egyszerűen egy problémás perifériás eszköz lehet, vagy kettő, vagy a rendszer hibás konfigurációjából. Ilyen esetekben meg kell próbálnia néhány alapvető hibaelhárítási eljárást a probléma azonosításához és javításához.

Ha azonban rendszeresen, de véletlenszerűbb időközönként hosszabb leállásokkal találkozunk, akkor lehetnek helyzetek és előfordulhat, hogy a rendszer néhány háttérfolyamatra vár, hogy kilépjen.

Alapértelmezés szerint a rendszer várni fogja, hogy a háttérfolyamatok önmagukban lezáruljanak, de ha nem, akkor 20 másodperc elteltével az ilyen folyamatokat elpusztító jelre küldi, és ha ezek a folyamatok különböző időközönkénti időzítéssel zárulnak, akkor ez leállíthat egy percek száma.

Ezért egyes háttérprocesszoknál, amelyek hajlamosabbak lógni másoknál, ez az alapértelmezett 20 másodperc alacsonyabb értékre történő megváltoztatása miatt a rendszer korábban kilép ezekből a folyamatokból. A folyamatok kilépésének kényszerítése nem a legjobb gyakorlat, de a rendszer már készen áll arra, hogy ezt leállítsa. Ismét az OS X csak 20 másodperces ablakot enged meg, hogy kilépjen, majd a rendszer erőteljesen megöli a folyamatot.

A háttérszolgáltatások, amelyek az ilyen időkorlátoknál gyakori bűnösnek tűnnek, azok, amelyek kezelik az interprocessz kommunikációt, a hitelesítéskezelést és a lemez- és hálózati erőforrás-aktivitást. Az OS X-ben ezek a következők:

  • AppleEvents - Ez lehetővé teszi, hogy a folyamatok kommunikáljanak egymással és parancsoljanak egymással (és ez az AppleScript alapja). Elképzelhető, hogy az interprocesszoros kommunikáció megszakításaiból kihagyhatunk (például, ha az egyik folyamat kénytelen lesz kilépni az események kezelése során).
  • securityd - Ez kezeli a hozzáférést a kulcstartókhoz és más biztonsági jogosultságokhoz, és időtúlléphet, ha a felhasználó interakcióját várjuk bizonyos hitelesítési kérésekhez.
  • mDNSResponder - Multicast DNS-műveletek kezelése, beleértve a hálózati kiszolgálók és szolgáltatások automatikus felfedezését. Ez a helyi hálózat konfigurációjával kapcsolatos problémák elhúzódását eredményezheti.
  • diskarbitrationd - A lemezbíró figyelemmel kíséri a helyi fájlrendszerek beszerelését és hozzáférhetőségét, és időt vehet igénybe a használt meghajtók hibájából, vagy ha egy meghajtó offline vagy alvó üzemmódba kerül, és egy ideig eltart az ébredéshez.
  • Az Apple ID hitelesítés - kezeli az Apple ID azonosítójának ellenőrzését különböző szolgáltatásoknál; lehet, hogy időn kívül marad a rossz hálózati hozzáférés vagy az Apple szerverei által adott válasz hiánya.

Ezeknek a folyamatoknak az időtúllépéseit a rendszerindító folyamat indítja el, amely a 20 másodperces alapértelmezett időtúllépést tartalmazza a folyamatok számára. Az indítószerkezetnek a felére történő lerövidítéssel történő feladásával jelentősen felgyorsíthatja a leállásokat, amelyek e folyamatok miatt lemaradnak.

Az időkorlátok módosításához módosítania kell a rendszer által az ezekhez a szolgáltatásokhoz használt indítási démonfájlokat, így először győződjön meg róla, hogy van-e biztonsági mentése a rendszerről, majd futtassa a következő parancsokat, amelyeket másolhat és beilleszthet (minden parancs a következő: két sor) az OS X terminál segédprogramba (az Alkalmazások> Segédprogramok mappában):

sudo defaults írja / System / Library / LaunchDaemons / c \ t

om.apple.coreservices.appleevents ExitTimeOut -int 5

sudo defaults írja / System / Library / LaunchDaemons / c \ t

om.apple.securityd ExitTimeOut -int 5

sudo defaults írja / System / Library / LaunchDaemons / c \ t

om.apple.mDNSResponder ExitTimeOut -int 5

sudo defaults írja / System / Library / LaunchDaemons / c \ t

om.apple.diskarbitrationd ExitTimeOut -int 5

A sudo alapértelmezett értékek írása / System / Library / LaunchAgents / com.

apple.coreservices.appleid.authentication ExitTimeOut -int 5

A fenti fenti parancsokban az időtúllépés értéke "5", ami azt jelenti, hogy a rendszer 5 másodpercet vár, mielőtt leállít egy folyamatot, de megváltoztathatja azt nullánál nagyobb egész értékre (a nulla érték letiltja a időtúllépés, így határozatlan időre várakozik). Ne feledje, hogy ezek "sudo" parancsok, ami azt jelenti, hogy az első futtatásakor meg kell adnia az adminisztrátori jelszavát (amely nem jelenik meg a terminálon, amikor kéri), ​​de akkor nem kell megadnia a következő parancsok jelszavát .

Illessze be a fenti parancsok mindkét sorát a Terminálba, ha kívánja, megváltoztatva az 5 értéket egy másik számra (a parancsokat újra bármikor, különböző értékekkel futtathatja). Ha elkészült, indítsa újra a számítógépet, majd ellenőrizze, hogy ez javítja-e a leállítási időket.

Ezeknek a műveleteknek a visszavonásához ismét futtathatja a parancsokat, de 20-as értékkel, vagy futtathatja az alábbi parancsokat az "ExitTimeOut" beállításbejegyzés eltávolításához, amely alapértelmezés szerint nem szerepel ezen indítási démon és ügynök parancsfájlokban:

sudo alapértelmezett törlés / System / Library / LaunchDaemons / c \ t

om.apple.coreservices.appleevents ExitTimeOut

sudo alapértelmezett törlés / System / Library / LaunchDaemons / c \ t

om.apple.securityd ExitTimeOut

sudo alapértelmezett törlés / System / Library / LaunchDaemons / c \ t

om.apple.mDNSResponder ExitTimeOut

sudo alapértelmezett törlés / System / Library / LaunchDaemons / c \ t

om.apple.diskarbitrationd ExitTimeOut

sudo alapértelmezett törlés / System / Library / LaunchAgents / com \ t

.apple.coreservices.appleid.authentication ExitTimeOut


 

Hagyjuk Meg Véleményét