برای یافتن علت رفتار شبانه لپتاپم که روزبهروز عجیبتر میشد، دستبهکار شدم. آنجا بود که فهمیدم لپتاپم حساب میکند در زمان خواب تا چه اندازه اجازه دارد باتری مصرف کند. گاهی آماده میماند و بیدرنگ بیدار میشود؛ گاهی هم پیش از آنکه به سراغش بروم، به خواب زمستانی میرود.
چون تنظیم مسئول این رفتار را در رابط معمول ویندوز پیدا نکردم، گزینههای مصرف انرژی را زیرورو کردم. یکی از تنظیمات همهچیز را روشن کرد.
خط قرمز ویندوز برای مصرف باتری لپتاپ
خواب زمستانی سازگارشونده مصرف را میسنجد، نه زمان را

در لپتاپهای مجهز به حالت آمادهبهکار مدرن که با باتری کار میکنند، ویندوز صرفاً زمانسنج ثابتی را برای ورود به خواب زمستانی نمیشمارد. در عوض، «خواب زمستانی سازگارشونده» میتواند میزان مصرف باتری در حالت آمادهبهکار را یکی از شرطهای انتقال سامانه به خواب زمستانی در نظر بگیرد. بخش بودجه آمادهبهکار در سازوکار Adaptive Hibernate مایکروسافت سه گزینه پنهان دارد که میزان مصرف مجاز باتری را تعیین میکنند.
به همین دلیل، ممکن است لپتاپی که تمام شب در کیف مانده است صبح روز بعد تقریباً بیدرنگ بیدار شود، اما روزی دیگر در همان شرایط به خواب زمستانی برود. مدت بستهماندن درِ لپتاپ تنها عامل تعیینکننده نیست؛ آنچه اهمیت دارد این است که دستگاه از سقف مجاز مصرف باتری عبور کرده باشد یا نه.
ویندوز بهطور پیشفرض در هر بازه بودجه ۱۲ساعته، مصرف حداکثر ۵ درصد از باتری را مجاز میداند. اگر سامانه پیش از پایان این بازه به آستانه ۵ درصد برسد، میتواند وارد خواب زمستانی شود. اگر مصرف از این آستانه کمتر بماند، بودجه تا سقف تعداد نوسازی تعیینشده از نو محاسبه میشود. شمار پیشفرض نوسازیها چهار بار است؛ بنابراین، اگر مصرف به آستانه نرسد، بودجه میتواند بازه نخست و چهار بازه نوسازی دیگر را پوشش دهد.
بنابراین، عدد ۱۲ ساعت بازهای است که سیستمعامل در آن میسنجد آیا مصرف باتری از حد مجاز فراتر رفته است یا نه. ویندوز با این سازوکار تعیین میکند برای نگهداشتن رایانه در وضعیتی که بهسرعت از سر گرفته میشود، حاضر است چه اندازه از شارژ باتری را مصرف کند؛ سپس دستگاه را وادار میکند وضعیت خود را روی دیسک ذخیره کند و به خواب زمستانی برود.
عددهایی که از چشم پنهاناند
Powercfg shows what Settings never will





این تنظیمات را نمیتوان در یک صفحه مشخص پیدا کرد. آنها تنظیمات پنهان مصرف انرژیاند و در رابط معمول تنظیمات ویندوز نمایش داده نمیشوند. مایکروسافت نیز هر سه مورد را رسماً در دسته تنظیمات پنهان مستند کرده است.
خط فرمان را باز کردم و فرمان powercfg /qh را اجرا کردم. خروجی، فهرستی بلند از تنظیمات پنهان مصرف انرژی بود. در میان آنها سه مقدار مهم پیدا کردم:
| تنظیم | مقدار پیشفرض | کارکرد |
|---|---|---|
| درصد بودجه آمادهبهکار (StandbyBudgetPercent) | ۵ درصد | میزان مجاز مصرف باتری در یک دوره بودجه |
| بازه نوسازی بودجه آمادهبهکار (StandbyBudgetRefreshInterval) | ۱۲ ساعت | مدتزمان لازم برای نوسازی بودجه، در صورتی که مصرف به آستانه نرسد |
| تعداد نوسازی بودجه آمادهبهکار (StandbyBudgetRefreshCount) | 4 | تعداد دفعاتی که بودجه میتواند از نو محاسبه شود |
مقدار StandbyBudgetRefreshInterval به این معنا نیست که رایانه پس از ۱۲ ساعت به خواب زمستانی میرود. اگر لپتاپ تا پایان بازه، سهم مجاز ۵درصدی خود را مصرف نکرده باشد، ویندوز میتواند بودجه را از نو محاسبه کند. این تنظیمات بودجه باتری برای برق مستقیم باتری یا DC کاربرد دارند؛ بنابراین، وقتی لپتاپ به برق متناوب یا AC وصل است، این رفتار را کنترل نمیکنند.
بودجه را عمداً از ۵ درصد به ۱ درصد رساندم و همهچیز را بههم ریختم
همان لپتاپ و همان شب؛ تنها یک عدد تغییر کرد

آنچه این مقدارها نشان میدادند باید با نتیجهای که گرفتم همخوانی میداشت، اما لازم بود آن را بیازمایم. مقدار StandbyBudgetPercent را از پیشفرض ۵ درصد به ۱ درصد تغییر دادم و به بازه و تعداد نوسازی دست نزدم. در هر دو آزمایش، کار را با باتری ۱۰۰درصدی آغاز کردم و لپتاپ را حدود ۱۲ ساعت در حالت آمادهبهکار مدرن گذاشتم. نتیجه، مقایسهای بسیار روشن بود:
| خط پایه با تنظیمات کارخانه | اجرای تغییریافته | |
|---|---|---|
| بودجه آمادهبهکار | ۵٪ | ۱٪ |
| بازه بازبینی | ۱۲ ساعت | ۱۲ ساعت |
| تعداد بازبینیها | 4 | 4 |
| شارژ آغازین | ۱۰۰٪ | ۱۰۰٪ |
| مدت آمادهبهکار | حدود ۱۲ ساعت | حدود ۱۲ ساعت |
| باتری مصرفشده | ۳٪ | ۳٪ |
| نتیجه | در حالت آمادهبهکار ماند | به خواب زمستانی رفت |
نکته جالب برای من این بود که در اجرای دوم، مصرف برق ناگهان افزایش نیافت. تفاوت اینجا بود که همان میزان معمول کاهش شارژ شبانه، این بار برای عبور از مرز تعیینشده کافی بود. با تنظیمات پیشفرض، این مقدار کاهش شارژ شبانه از آستانه ۵٪ فراتر نمیرفت؛ اما با آستانه ۱٪، همان میزان کلی مصرف کافی بود تا از بودجه تعیینشده عبور کند.
اگر مرز ۱۲ساعته را یک زمانسنج میپنداشتم، هرگز متوجه این موضوع نمیشدم؛ زیرا ویندوز بهجای آنکه صرفاً تا آغاز خواب زمستانی شمارش معکوس کند، میزان کاهش شارژ باتری را با بودجه تعیینشده میسنجید.
نتایج دقیق آزمایش من را نمیتوان ملاکی برای پیشبینی رفتار دیگر لپتاپهای مجهز به Modern Standby دانست. بااینحال، این آزمایش نشان میدهد که تنها با تغییر مقدار مجاز کاهش شارژ، میتوان زمان عبور لپتاپ من از آستانه خواب زمستانی را تغییر داد.
مهمتر اینکه این سازوکار توضیح میدهد چرا رفتن دستگاه به خواب زمستانی ممکن است تصادفی به نظر برسد. اگر مصرف برق دستگاه در حالت آمادهبهکار از یک نوبت تا نوبت دیگر تغییر کند، زمان عبور آن از بودجه تعیینشده نیز ممکن است متفاوت باشد.
اهمیت میزان شارژ بهاندازه بودجه خواهد شد
مایکروسافت در حال آزمایش نسخه بهروزشده سیاست «خواب زمستانی تطبیقی» است که برای بیلد ۲۸۱۲۰.۲۶۳۰ ویندوز ۱۱ اینسایدر منتشر شده است. این سیاست دو هدف دارد: افزایش دفعات بازگشت آنی از Modern Standby و حفظ شارژ بیشتر هنگامی که سطح باتری پایین است.
این سیاست تغییری کاربردی به همراه دارد: تا زمانی که شارژ باتری دستکم ۸۰٪ باشد، ویندوز کمتر به خواب زمستانی میرود؛ اما وقتی شارژ به کمتر از ۱۰٪ برسد، این کار را زودتر انجام میدهد. بدینترتیب، میزان شارژ باتری نیز به یکی از عوامل تصمیمگیری برای آغاز خواب زمستانی تبدیل میشود.
اندیشه اصلی همچنان همان است: ویندوز میتواند با توجه به هزینهای که حفظ حالت بازگشت سریع برای باتری دارد ــ و تا اندازهای بر پایه میزان مصرف برق در حالت آمادهبهکار ــ تشخیص دهد که ادامه این وضعیت دیگر بهصرفه نیست.
منبع: این مطلب ترجمه و بومیسازی مقالهای از MakeUseOf به قلم Afam Onyimadu است. مشاهده مقاله اصلی