خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

ویندوز ثابت کرد لپ‌تاپم وقتی درش را بستم واقعاً در حال خواب نبود

ویندوز ثابت کرد لپ‌تاپ من هنگام بستن در واقعاً خواب نمی‌بود
لپ‌تاپم شب را به‌آن‌گونه که کودک خردسالی خواب می‌کند، خوابید.

لپ‌تاپم را پس از یک مسیر رفت‌و‌آمد کمی بیش از یک‌ساعته از کیفم بیرون کشیدم و گرم بود. نه گرمیِ «تازه از روی میز آمده». گرمیِ درون‌کیفی، با ۱۸٪ از باتریِ از‌دست‌رفته‌ی دستگاهی که ظاهراً تمام آن مدت در خواب بود.

سال‌ها Modern Standby را مقصر می‌دانستم و هر بار که لپ‌تاپم گرم‌تر و باتری‌اش کم‌تر از انتظارم از کیف بیرون می‌آمد، زیر لب زمزمه می‌کردم که «خوابِ ویندوز بد است». آن توضیح آن‌قدر راحت شده بود که هیچ‌وقت مکث نکردم بررسی کنم اصلاً لپ‌تاپم از Modern Standby استفاده می‌کرد یا نه.

وقتی بالاخره از ویندوز خواستم نشانم دهد چه شده بود، تقریباً بلافاصله تشخیصم را برهم زد. لپ‌تاپم از خواب سنتی S3 استفاده می‌کرد و در طولِ نشستِ متناظرِ یک‌ساعته و بیست‌ویک‌دقیقه‌ای، هرگز وارد آن حالت خواب نشده بود.

نوع اشتباهی از خواب را مقصر می‌دانستم

این لپ‌تاپ حتی از Modern Standby پشتیبانی هم نمی‌کند

ویندوز PowerShell نمایش وضعیت‌های موجود خواب

ابتدا ترمینال ویندوز را باز کردم تا حالت‌های انرژی پشتیبانی‌شده‌ی لپ‌تاپم را بررسی کنم:

powercfg /a

این دستور تمام حالت‌های خواب موجود را روی یک رایانه‌ی ویندوزی فهرست می‌کند، در کنار دلایلی که حالت‌های غیرقابل‌دسترسی نمی‌توانند استفاده شوند. روی لپ‌تاپ من، ساکتن (S3) و خواب زمستانی زیر حالت‌های موجود ظاهر شدند. ساکتن با شبکه (S0 Low Power Idle) پایین‌تر به‌عنوان غیرقابل‌دسترسی ظاهر شد زیرا سیستم فیرم‌ویر آن را پشتیبانی نمی‌کرد. این، Modern Standby را پیش از آنکه أصلاً گزارشی تولید کنم حذف کرد.

Modern Standby ویندوز از حالت S0 Low Power Idle استفاده می‌کند و به رایانه اجازه می‌دهد بدون ترکِ S0 میان فعالیت پایین و بالاتر جابه‌جا شود. خواب سنتی S3 رفتار متفاوتی دارد. پردازنده و برخی سخت‌افزارهای دیگر خاموش می‌شوند، کار محاسباتی عادی متوقف می‌شود و فقط حافظه‌ی سیستم روشن می‌ماند تا ویندوز بتواند نشست را هنگام بیدار شدن رایانه بازگرداند.

مطلب مرتبط:   نحوه رفع کد خطای فروشگاه مایکروسافت 0x80131500

لپ‌تاپم بنابراین از مدل خوابِ قدیمی‌تری برخوردار بود که به‌اشتباه فرض کرده بودم ویندوز آن را کنار گذاشته. اگر هنگام بستن درب وارد S3 می‌شد، کاربردها نباید در طول مسیر رفت‌و‌آمد به کار продолж می‌دادند. پرسش دیگر این نبود که چرا لپ‌تاپ در طول Modern Standby این‌قدر انرژی مصرف کرد. لازم بود بدانم اصلاً وارد خواب شده بود یا نه.

ویندوز تفاوت میان صفحه‌ی تاریک و خواب را ثبت کرده بود

نمایشگر خاموش شد، اما رایانه بیzur مشغول ماند

ویندوز PowerShell در حال اجرای فرمان sleepstudy در powercfg

ابزاری که نیاز داشتم قبلاً در ویندوز ساخته شده بود. ترمینال ویندوز را با امتیازات مدیر باز کردم و اجرا کردم:

powercfg /sleepstudy /output "C:\sleepstudy-report.html"

در عرض چند ثانیه، ویندوز یک فایل HTML در ریشه‌ی درایو C من ذخیره کرد. با وجود نام دستور، سند به‌عنوان System Power Report باز شد و سرتیتر آن همان چیزی را تأیید کرد که powercfg /a قبلاً آشکار ساخته بود:

MODERN STANDBY ENABLED No
گزارش برق سیستم ویندوز با نمودار باتری

مایکروسافت هر دو /sleepstudy و /systempowerreport را دستوراتی توصیف می‌کند که گزارش‌های تشخیصی درباره‌ی انتقال‌های انرژی سیستم تولید می‌کنند. گزارش حاصل می‌تواند اطلاعات مفیدی نیز درباره‌ی رایانه‌هایی که از مدل انرژی سنتی S3 پیروی می‌کنند داشته باشد. زیر سرتیتر یک جدول زمانی وجود داشت که نشان می‌داد لپ‌تاپم چگونه میان فعال، صفحه خاموش، ساکتن، خواب زمستانی و خاموش جابه‌جا شده است.

خاموش کردن نمایشگر لزوماً به این معنا نیست رایانه وارد S3 شده. ویندوز می‌تواند صفحه را تاریک کند در حالی که بقیه‌ی سیستم فعال می‌ماند و به کاربردها و سخت‌افزار اجازه می‌دهد به مصرف انرژی ادامه دهند.

جدول گزارش باتری و بازدهی برق در ویندوز

زمان آغاز گزارش را با زمانی که در ابتدای مسیر درب را بستم تنظیم کردم. ویندوز مدتِ ۱ ساعت، ۲۱ دقیقه و ۴۲ ثانیه‌ی بعد را به‌جای ساکتن به‌عنوان صفحه خاموش ثبت کرد. در آن دوره، لپ‌تاپ ۹٬۹۶۸ میللی‌وات‌ساعت مصرف کرد، ۱۸٪ از باتری‌اش را از دست داد و نرخ تخلیه‌ی میانگین ۷٬۳۲۰ میللی‌وات را نگه داشت.

مطلب مرتبط:   اگر ویندوز آهنگ تست صدا را پخش نکند، چه باید کرد؟

نشست‌های خواب واقعی در جای دیگری از همان جدول به‌عنوان ورودی‌های جداگانه‌ی ساکتن ظاهر شدند. ویندوز به من نمی‌گفت که لپ‌تاپ در طول مسیر به‌طور ناکارآمد خوابیده است. نشان می‌داد که دستگاه در آن مدت هرگز وارد S3 نشده بود. بستن درب نمایشگر را خاموش کرده بود، اما سیستم زیرین بیدار مانده بود. این، گرما داخل کیفم و افت باتری را بدون نیاز به هیچ نظریه‌ای درباره‌ی رفتار شکسته‌ی Modern Standby توضیح می‌داد.

نتایج تحلیل گزارش باتری و جزئیات جلسه در ویندوز

این همچنین توضیح می‌داد چرا ستونِ «زمان حالت کم‌مصرف» در گزارش فقط خط تیره داشت. آن معیار به رفتار کم‌مصرفِ سیستم‌های Modern Standby تعلق دارد. لپ‌تاپم از S0 Low Power Idle استفاده نمی‌کرد، بنابراین درصدی DRIPS برای بررسی وجود نداشت. مستندات مایکروسافت همچنین فازهای صفحه خاموش و خوابِ استفاده‌شده در گزارش‌های Modern Standby را از مدل سنتی S3 متمایز می‌کند، جایی که فعالیت نرم‌افزاری با رسیدن دستگاه به S3 متوقف می‌شود.

گزارش مشکل را بدوناختراع مقصر دقیق‌سازی کرد

ویندوز جوابی به من داد، ولی پاسخ مرتبی نبود

در ابتدا انتظار داشتم یک برنامه با رفتار نامناسب که رایانه را بیدار نگه می‌داشت پیدا کنم. برای بررسی، فرمان داخلی دیگری اجرا کردم:

powercfg /requests

این فرمان درخواست‌های برق که در حال حاضر توسط برنامه‌ها و درایورها نگه داشته شده‌اند فهرست می‌کند و یکی از مفیدترین فرمان‌ها برای عیب‌یابی مشکلات حالت خواب ویندوز است. مثلاً یک درخواست SYSTEM می‌تواند به ویندوز بگوید به جای ورود به خواب پس از دوره‌ای بی‌فعالیتی، روشن بماند. نتیجه‌ام چشمگیر نبود. DISPLAY، SYSTEM، AWAYMODE و EXECUTION همگی None برگرداندند. تنها مورد فهرست‌شده یک Legacy Kernel Caller زیر PERFBOOST بود، نه برنامه‌ای که درخواست SYSTEM را که انتظار داشتم پیدا کنم نگه داشته باشد.

این ثابت نمی‌کرد که هیچ درخواستی با گذار خواب قبلی تداخل نداشته است. powercfg /requests تنها درخواست‌های فعال در لحظه اجرای فرمان را ضبط می‌کند، پس هر چیزی که درخواست خود را پیش‌تر آزاد کرده بود تا زمانی که درِ لپ‌تاپ را باز کردم و بررسی کردم غایب بود. مایکروسافت ابزارهای تشخیصی با مدت‌زمان طولانی‌تری برای موقعیت‌هایی که درخواست باید هنگام ظاهر شدن و ناپدید شدن ثبت شود ارائه می‌دهد.

مطلب مرتبط:   من به فروشگاه مایکروسافت اعتماد ندارم - به همین دلیل من به جای آن از نصب کننده های EXE استفاده می کنم

با این حال، گزارش برق سیستم مسیر تحقیق را تغییر داده بود. دیگر به دنبال برنامه‌ای که هنگام خواب رایانه باتری را تخلیه می‌کرد نبودم. به دنبال چیزی بودم که مانع رسیدن لپ‌تاپ به S3 شده بود.

تنظیمات برق و خواب در کنترل پنل ویندوز

اولین جایی که باید در تنظیمات خواب ویندوز بررسی شود، عملکرد درِ لپ‌تاپ است در مسیر Control Panel -> Hardware and Sound -> Power Options -> Choose what closing the lid does. گزینه On battery باید روی Sleep تنظیم شده باشد، نه Do nothing. از آنجا، تمیزترین آزمون این است که سطح باتری را یادداشت کنید، لپ‌تاپ را از برق بکشید، در آن را حداقل یک ساعت ببندید و پس از باز کردن، گزارش دیگری تولید کنید.

نتیجه مهم صرفاً تخلیه کمتر باتری نیست. جلسه مطابق باید به صورت Standby ظاهر شود و نشان دهد ویندوز گذار به S3 را کامل کرده است به جای اینکه در Screen Off متوقف شود.

مشکل خواب بد نبود؛ اصلاً خوابی در کار نبود.

ویندوز ثابت نکرد که لپ‌تاپم در خوابیدن بد است. نشان داد پس از بستن در، ماشین برای کل جلسه ۸۱ دقیقه‌ای در Screen Off باقی ماند به جای اینکه وارد S3 شود. این راحت‌تر از مقصر دانستن Modern Standby نبود، ولی چیزی بسیار مفیدتر به من داد: مشکلی درست برای حل کردن.

منبع: این مطلب ترجمه و بومی‌سازی مقاله‌ای از MakeUseOf به قلم Oluwademilade Afolabi است. مشاهده مقاله اصلی