چطور سرعت خاموش شدن سیستمعامل OS X را افزایش دهیم
زمانی که رایانه مبتنی بر سیستمعامل مک را خاموش میکنید، OS X تلاش میکند تا برنامهها و سرویسهایی که در پس زمینه اجرا هستند را ببندد. اما در بعضی شرایط خاص این روند میتواند زمان قابل توجهای را به خود اختصاص دهد، بنابراین سیستم چند دقیقهای صبر میکند تا مراحل نهایی خاموش شدن انجام شود. برخی اوقات این تاخیر سیستم، مربوط به فعل و انفعالات ذخیره سازی اسناد و مدارک است، اما باقی زمانها بدلیل عدم پاسخ دهی برخی سرویسهای پس زمینه است، سیستم قبل از اینکه آنها را بصورت اضطراری وادار به بستن کند، زمانی مشخص را برای بسته شدن تعیین میکند.
عموما OS X تنها در چند ثانیه باید بتواند خاموش شود، پس اگر که سیستم بطور مداوم زمان زیادی را صرف خاموش کردن کند، حتمن مشکلی در آن وجود دارد و باید به آن رسیدگی شود. بعضی اوقات هم این ایرادها میتواند مربوط به دستگاههای جانبی که به سیستم وصل هستند، باشد یا اینکه میتواند به برخی از تنظیمات اشتباه سیستمی مرتبط باشد، که در این صورت با اعمال روشهای عیب یابی اولیه مشکل را شناسایی و رفع کرد.
هرچند، اگر بطور منظم زمان خاموش شدن طولانی است، ممکن است بسته به موقعیت سیستم در فرآیند خروج از برنامههای پس زمینه، سیستم زمانی را منتظر بسته شدن برنامهها صرف میکند.
بطور پیش فرض سیستم عامل زمانی مشخص را در اختیار نرم افزارها قرار خواهد داد تا خود نرمافزارها بصورت عادی بسته شوند، ولی در غیر اینصورت بعد از گذشت ۲۰ ثانیه سیستم اقدام به بستن نرمافزار یا سرویس مورد نظر میکند. اگر که این پردازشها دارای زمان انقضاء متفاوتی باشند میتواند زمان خاموش شدن را نیز افزایش دهد.
از این رو اگر بعضی از پردازهها زمان بیشتری در پس زمینه معلق بمانند، براحتی میتوان با کم کردن مقدار زمان انقضاء از مقدار پیش فرض آن که ۲۰ ثانیه است، زودتر پردازه مورد نظر را بست.
درحالیکه به اجبار بستن پردازهها، بهترین راه کار ممکن نیست، سیستم عامل خودش را برای انجام این کار در حین روند خاموش کردن آماده ساخته است، پس بنابراین، OS X تنها ۲۰ ثانیه به یک پنجره اجازه میدهد تا بسته شود و پس از آن سیستم با اجبار اقدام به بستن آن پردازه میکند.
سرویسهای پس زمینه که به نظر عوامل مشترکی هستند که در اینگونه وقفهها نقش دارند، از دسته سرویسهایی هستند که عهده دار ارتباط پردازشهای داخلی، مدیریت تصدیق هویت، دیسکها و فعالیت منابع شبکه است. در OS X این موارد عبارتند از:
Apple Events-- این اجازه را میدهد که پردازهها از این طریق ارتباط برقرار کنند و به یکدیگر دستور ارسال کنند (AppleScript نیز برپایه همین است). که ممکن است در زمانی که وقفهای در برقراری ارتباط بین پردازههای داخلی به وجود آید و در اینصورت مشمول زمان انقضاء شود.
Securityd-- سیستم مدیریت دسترسی به Keychains و دیگر منابع امنیتی را عهده دار است و ممکن است زمانی که منتظر فرایند احراز هویت یک کاربر است مشمول انقضاء زمان شود.
mDNSResponder-- مدیریت فعالیتهای DNS را برعهده دارد، از جمله کشف و جستجوی اتوماتیک سرورهای تهت شبکه و سرویسهای مرتبط با آن. این هم میتواند به دلیل مشکلاتی که با تنظیمات شبکه داخلی دارد مشمول انقضاء زمان شود.
Diskarbitrationd-- وظیفه نظارت بر مانت (Mount) کردن و فراهم کردن دسترسی فایلهای محلی سیستم را دارد، که ممکن است در شرایطی که درایوهای سیستم دچار مشکل شدهاند مشمول زمان انقضاء شوند، یا اینکه هارد دیسک آفلاین شده یا سیستم در حالت استراحت است و طبیعتا چند ثانیهای طول خواهد کشید که سیستم بیدار شوند.
Apple ID Authentication-- مدیریت تایید حساب کاربری اپل برای سرویسهای متنوع مبتنی بر آن را برعهده دارد. در شرایطی که سرعت اینترنت پایین باشد یا اینکه سرور اپل پاسخگو نباشد مشمول انقضاء زمان میشود.
مدیریت زمان انقضاء این پردازهها توسط System Launcher process launchd صورت میگیرد، که از پردازههایی که مقدار پیش فرض ۲۰ ثانیه زمان انقضاء دارند، را نگهداری میکند. با کم کردن مقدار پیش فرض حتی به نصف آن میتوان بطور قابل توجهی سرعت خاموش کردن را افزایش داد.
جهت تغییر مقدار زمانهای انقضاء، میبایستی تغییراتی در فایلهای راهانداز سیستمی، که سیستم برای این سرویسها استفاده میکند اعمال کنیم. بنابراین اول یک نسخه پشتیبان از سیستم تهیه کنید، سپس دستورات زیر را وارد کنید:
جهت اجرا کردن این دستورات ابتدا Terminal را اجرا کنید (Application>Utilities folder) سپس دستورات زیر را کپی و پیست کنید، توجه داشته باشید که هر دو خط یک دستور به حساب میآیند.
sudo defaults write /System/Library/LaunchDaemons/c\ om.apple.coreservices.appleevents ExitTimeOut -int 5
sudo defaults write /System/Library/LaunchDaemons/c\ om.apple.securityd ExitTimeOut -int 5
sudo defaults write /System/Library/LaunchDaemons/c\ om.apple.mDNSResponder ExitTimeOut -int 5
sudo defaults write /System/Library/LaunchDaemons/c\ om.apple.diskarbitrationd ExitTimeOut -int 5
sudo defaults write /System/Library/LaunchAgents/com.\ apple.coreservices.appleid.authentication ExitTimeOut -int 5
در این دستورات زمان انقضاء به ۵ ثانیه کاهش داده شده به این معنی که سیستم در حین خاموش شدن تنها ۵ ثانیه منتظر میماند و بعد از آن پردازه مورد نظر را میبندد (kill)، با این حال شما میتوانید این مقدار را به هر عدد صحیحی که بزرگتر از صفر است تغییردهید (مقدار صفر، زمان انقضاء را به کل غیر فعال میکند، بنابراین زمان انقضاء نامحدود خواهد بود). دقت داشته باشید که این دستورات، SUDO هستند و نیاز به وارد کردن رمز عبورحساب کاربری مدیر(Admin) را دارد. بعد از وارد کردن رمز برای اولین دستور، سیستم بابت دستورهای بعدی از شما مجدد رمز را نخواهد پرسید.
برای وارد کردن دستورات به صورت صحیح میبایست هر دو خط را در قالب یک دستور جدا در ترمینال وارد کنید. در صورت تمایل مقدار ۵ را به هرعددی میخواهید تغییر دهید. (هر زمان که خواستید میتوانید دستور را با مقدار دیگر وارد کنید). بعد از وارد کردن همه دستورات رایانه را راهاندازی مجدد کنید و ببینید که سرعت خاموش شدن بهتر شده یا خیر.
جهت برگرداندن تنظیمات به حالت پیش فرض تنها کافی است تا همه دستورات را با مقدار ۲۰ دوباره وارد کنید، یا اینکه دستورات زیر را اجرا کنید تا تنظیمات مربوط به "ExitTimeOut" پاک شوند چرا که در حالت پیش فرض هیچ یک از این تنظیمات در آن وجود ندارند.
sudo defaults delete /System/Library/LaunchDaemons/c\ om.apple.coreservices.appleevents ExitTimeOut sudo defaults delete /System/Library/LaunchDaemons/c\ om.apple.securityd ExitTimeOut sudo defaults delete /System/Library/LaunchDaemons/c\ om.apple.mDNSResponder ExitTimeOut sudo defaults delete /System/Library/LaunchDaemons/c\ om.apple.diskarbitrationd ExitTimeOut sudo defaults delete /System/Library/LaunchAgents/com\ .apple.coreservices.appleid.authentication ExitTimeOut
نظرات