Windows Defender می تواند تأثیر قابل توجهی بر عملکرد CPU اینتل داشته باشد، ما راه حل آن را داریم

Windows Defender می تواند تأثیر قابل توجهی بر عملکرد CPU اینتل داشته باشد، ما راه حل آن را داریم


کوین گلین، با نام مستعار «عمو وب»، نویسنده نرم‌افزاری ما در پشت برنامه‌های محبوبی مانند ThrottleStop و RealTemp، ابزار جدیدی به نام Counter Control ایجاد کرده است که به شما امکان می‌دهد از سال 2008 شمارنده‌های عملکرد پردازنده‌های Intel Core را نظارت و ثبت کنید (Core “Nehalem “). در طول توسعه ThrottleStop، کوین باگ جالبی را در Windows Defender، نرم افزار امنیتی داخلی ویندوز، کشف کرد که عملکرد CPU را به طور قابل توجهی بیش از حد معمول تحت تاثیر قرار می دهد. البته، نرم افزار امنیتی احتمالاً تأثیر عملکرد (کوچکی) هنگام محافظت در زمان واقعی دارد، اما این بسیار مهم تر است.

اولین نشانه ای که نشان می دهد چیزی در حال وقوع است این است که HWiNFO کاهش سرعت “ساعت موثر” را هنگامی که پردازنده به طور کامل بارگذاری می شود گزارش می دهد. یک مسئله بسیار بزرگتر این است که وقتی Defender تحت تأثیر باگ قرار می گیرد، عملکرد دستگاه شما به میزان قابل توجهی کاهش می یابد. برای مثال، یک Core i9-10850K که تمام هسته‌ای با فرکانس 5.00 گیگاهرتز کار می‌کند، 1000 امتیاز Cinebench (یا 6٪) را از دست می‌دهد. چنین کاهش عملکردی توسط دارندگان پردازنده‌های نسل هشتم، نهم، دهم و یازدهم اینتل، هم دسکتاپ و هم موبایل، در ویندوز 10 و ویندوز 11 گزارش شده است. پردازنده‌های AMD تحت تأثیر قرار نمی‌گیرند.

مشکل اساسی که هزینه عملکرد بسیار بالایی دارد این است که Windows Defender به طور تصادفی شروع به استفاده از هفت شمارنده عملکرد سخت افزاری ارائه شده توسط پردازنده های Core اینتل می کند که شامل سه شمارنده عملکرد ثابت است. هر یک از این شمارنده‌ها را می‌توان در یکی از چهار حالت برنامه‌ریزی کرد تا سطح امتیازات را پیکربندی کند: سطح غیرفعال، سیستم عامل (ring-0)، کاربر (ring>0) و سطوح All-ring. از آنجایی که این شمارنده ها یک منبع مشترک هستند، این امکان برای چندین برنامه وجود دارد که بخواهند همزمان به این شمارنده ها دسترسی داشته باشند.

ابزارهای محبوب سیستم مانند HWiNFO، OCCT، Core Temp، و ThrottleStop همگی این مترها را روی “Mode 3” یا “All-Ring Levels” تنظیم می کنند. از آنجایی که همه آنها یک حالت را تنظیم می کنند، هیچ مشکلی با استفاده از چندین برنامه از یک شمارنده وجود ندارد. از سوی دیگر، Windows Defender این شمارنده‌ها را برای مدت‌های تصادفی روی «حالت 2» در فواصل زمانی تصادفی تنظیم می‌کند. این ممکن است زمانی اتفاق بیفتد که کامپیوتر برای اولین بار راه اندازی می شود یا هر زمان بعد از آن. در حالی که Windows Defender در پس‌زمینه اجرا می‌شود، ممکن است در هر زمانی شروع به کار کند و متوقف شود یا به طور مداوم تلاش کند تا این شمارنده‌ها را به حالت 2 تغییر دهد. فقط برای روشن شدن، از دست دادن عملکرد حتی بدون اجرای هیچ نرم افزار نظارتی رخ می دهد – Defender همچنان از زمان بیش از حد CPU استفاده می کند.

مشکل مربوط به سخت افزار اینتل نیست، زیرا تنظیم دستی تایمرهای مشابه Windows Defender هیچ تاثیر منفی بر عملکرد ندارد. علاوه بر این، اگر این شمارنده ها به صورت دستی بازنویسی شوند، Defender آن را شناسایی می کند، بلافاصله هر کاری را که انجام می دهد متوقف می کند، و عملکرد به حالت عادی باز می گردد، بدون اینکه تاثیر منفی بر توانایی تشخیص ویروس ها در زمان واقعی داشته باشد.

نرم افزار Counter Control ما رجیستر “IA32_FIXED_CTR_CTRL” پردازنده های Intel Core را که در MSR 0x38D قرار دارد، نظارت و ثبت می کند. این رجیستر دسترسی به سه شمارنده نظارت بر عملکرد عملکرد ثابت که قبلا ذکر شد را فراهم می کند. اگر نرم‌افزاری از شمارنده‌های عملکرد ثابت اینتل استفاده می‌کند و مدت زمان استفاده از آن‌ها، Counter Control به کاربران اطلاع می‌دهد. مقادیر معمولی گزارش شده توسط Counter Control به این صورت است:

  • استفاده نشده – 0x000: سه شمارنده تابع ثابت متوقف شده اند. هیچ یک از شمارنده ها در حال حاضر استفاده نمی شود.
  • Defender – 0x222: هر سه شمارنده تابع ثابت در حالت 2 برنامه ریزی شده اند. این مقداری است که Windows Defender این شمارنده ها را هنگام استفاده از آنها تنظیم می کند.
  • عادی – 0x330: دو شمارنده در حالت 3 برنامه ریزی شده اند. یک شمارنده در حالت 0 برنامه ریزی شده است و استفاده نمی شود. طبیعی است. اکثر برنامه های نظارتی که از این شمارنده ها استفاده می کنند، رجیستر کنترل شمارنده را روی این مقدار برنامه ریزی می کنند.
  • هشدار – 0x332: زمانی ظاهر می شود که دو شمارنده به طور معمول توسط نرم افزار نظارت استفاده می شود در حالی که شمارنده سوم روی حالت 2 تنظیم شده است، احتمالاً توسط Windows Defender. این هشداری است مبنی بر اینکه دو برنامه مختلف ممکن است برای کنترل شمارنده های مشترک با هم رقابت کنند. می توانید مشاهده کنید که رجیستر کنترل شمارنده به طور مداوم بین 0x222 و 0x332 تغییر می کند. اگر Windows Defender سعی کند همزمان از شمارنده های تابع IA32_FIXED استفاده کند، این همان چیزی است که هنگام اجرای HWiNFO مشاهده خواهید کرد.

اگر به نظر می رسد سیستم شما تحت تأثیر قرار گرفته است، با خواندن «Defender»، یک راه حل سریع این است که روی دکمه «Reset Counters» در Counter Control کلیک کنید. با فشار دادن دکمه، یک تایمر دوباره به حالت 3 برنامه ریزی می شود که توسط Defender شناسایی می شود و Defender کار خود را متوقف می کند و عملکرد را بازیابی می کند. لطفا با معیارها بررسی کنید.

دو راه برای کاهش این افت عملکرد به طور دائم وجود دارد. شما می توانید نظارت بر زمان واقعی Windows Defender را غیرفعال کنید، که به دلیل پیامدهای امنیتی به شدت ممنوع است. یا می توانید از آخرین نسخه 9.5 ThrottleStop استفاده کنید که دارای ویژگی در پنجره “Options” به نام “Windows Defender Boost” است. علامت زدن این کادر تضمین می‌کند که حداکثر کارایی و نظارت دقیق بر ساعت در خط پایه در همه برنامه‌ها، صرف نظر از اینکه محافظت بلادرنگ Windows Defender فعال باشد یا نباشد. برای انجام این کار، ThrottleStop بلافاصله یکی از تایمرهای قابل برنامه ریزی را فعال می کند. هنگامی که Windows Defender تشخیص می دهد که نرم افزار کاربر در حال تلاش برای استفاده از یکی از شمارنده های قابل برنامه ریزی است، استفاده از تمام شمارنده ها را متوقف می کند و تا زمانی که این شمارنده فعال است، آنها را به حال خود رها می کند. این عملکرد را به حالت عادی برمی گرداند. دکمه “Reset” در Counter Control نیز همین کار را انجام می دهد و راهی را در اختیار افراد قرار می دهد تا دقیقاً آن مکانیک را بدون نیاز به راه اندازی ThrottleStop فعال کنند. فقط برای روشن شدن، Windows Defender به خوبی به کار خود ادامه خواهد داد. همچنان می تواند هر ویروسی را شناسایی کرده و به کاربران اطلاع دهد. هنگامی که یک بار شروع می شود، با گزینه “Windows Defender Boost”، ThrottleStop اجازه می دهد تایمر در حالت 3 اجرا شود، حتی زمانی که بسته است. این بدان معناست که می‌توانید یک بار در هنگام راه‌اندازی ThrottleStop را راه‌اندازی کنید، بلافاصله آن را ببندید و سیستم شما از مشکلات عملکرد Defender محافظت می‌شود.

اگر تیک “Windows Defender Boost” را بردارید، شمارنده ابتدا پاک می شود. این کار الگوریتم Windows Defender را متوقف می کند، اما ThrottleStop دیگر سعی نمی کند یک شمارنده را در حین استفاده از ThrottleStop فعال نگه دارد و پس از خروج از ThrottleStop آن شمارنده را فعال نگه نمی دارد. این به شخص اجازه می دهد تا از ThrottleStop بدون نگرانی در مورد اینکه ThrottleStop کاری را برای Windows Defender انجام می دهد استفاده کند که نباید انجام دهد. پس از شروع ThrottleStop، اگر از این تایمر استفاده نشود، پس از حدود 10 دقیقه Windows Defender این تایمر را بررسی می کند، مشاهده می کند که از آن استفاده نمی شود و ممکن است الگوریتم مصرف عملکرد مرموز خود را مجددا راه اندازی کند.

تجربیات خود را در نظرات این مقاله با ما در میان بگذارید. جالب است که ببینیم این مشکل چقدر گسترده است، ما تأیید کرده ایم (رشته در TPU، رشته در OCN) که در چند ماه گذشته در بسیاری از سیستم ها رخ داده است. اگر سر و صدای کافی ایجاد کنیم، مطمئنم که مایکروسافت به این موضوع می پردازد که چرا به تایمرهای زیادی در Defender نیاز دارند، چرا چنین عملکردی وجود دارد، و بر این اساس آن را رفع خواهد کرد.

مثل همیشه نظرات و سوالات خود را در نظرات با ما در میان بگذارید. همچنین اگر برخی از جزئیات فنی را متوجه نشدید به ما اطلاع دهید تا بتوانیم این نوشتن را بهبود ببخشیم.

کنترل شمارنده برای دانلود رایگان در بخش دانلودها در دسترس است.



مرجع اخبار سخت افزار کامپیوترایران