چگونه مصرف بالای CPU توسط Microsoft Defender را کاهش دهیم؟

اگر هنگام کار با ویندوز متوجه شدهاید سیستم کند شده، فن لپتاپ دائماً با سرعت زیادی کار میکند یا در Task Manager پردازشی با نام Antimalware Service Executable بخش زیادی از CPU را مصرف میکند، احتمالاً Microsoft Defender در حال اسکن فایلهاست.
افزایش مصرف پردازنده هنگام اسکن لزوماً نشانه خرابی نیست. Defender برای بررسی فایلها و شناسایی تهدیدها به منابع سیستم نیاز دارد. مشکل زمانی ایجاد میشود که مصرف CPU برای مدت طولانی بالا بماند یا هنگام بازی، کار با نرمافزارهای سنگین و انجام کارهای روزمره باعث کندی سیستم شود.
در این آموزش، روشها را از سادهترین گزینهها شروع میکنیم و سراغ راهکارهای پیشرفتهتر میرویم.
اول مطمئن شوید Microsoft Defender باعث مصرف بالای CPU شده است
قبل از تغییر تنظیمات، ابتدا بررسی کنید واقعاً Defender عامل اصلی مشکل است.
کلیدهای Ctrl + Shift + Esc را همزمان فشار دهید.
اگر Task Manager در حالت ساده باز شد، روی More details کلیک کنید.
در تب Processes به دنبال موارد زیر بگردید:
- Antimalware Service Executable
- Microsoft Defender Antivirus Service
- MsMpEng.exe
اگر یکی از این پردازشها برای مدتی طولانی CPU زیادی مصرف میکند، احتمالاً Defender در حال اسکن سیستم است.
اگر مصرف CPU برای چند دقیقه بالا میرود و بعد به حالت عادی برمیگردد، معمولاً نیازی نیست تنظیمات Defender را تغییر دهید.
اما اگر مصرف بالا دائمی است یا هر بار هنگام اجرای یک برنامه خاص اتفاق میافتد، مراحل بعدی را انجام دهید.
روش اول: کاهش اولویت CPU برای اسکنهای زمانبندیشده
یکی از امنترین روشها این است که اولویت پردازشی اسکنهای زمانبندیشده Defender را کاهش دهید.
این کار Defender را خاموش نمیکند و فقط باعث میشود اسکنهای زمانبندیشده با اولویت پایینتری نسبت به سایر پردازشها اجرا شوند.
مرحله اول: PowerShell را با دسترسی Administrator باز کنید
در جستوجوی ویندوز بنویسید:
PowerShell
روی آن راستکلیک کنید و گزینه:
Run as administrator
را انتخاب کنید.
اگر پنجره User Account Control نمایش داده شد، روی Yes بزنید.
مرحله دوم: اولویت پایین CPU را فعال کنید
دستور زیر را وارد کنید:
Set-MpPreference -EnableLowCpuPriority $true
سپس Enter را بزنید.
این تنظیم برای کاهش اولویت CPU در اسکنهای زمانبندیشده طراحی شده است. مایکروسافت نیز EnableLowCpuPriority را بهعنوان تنظیمی برای اجرای اسکنهای زمانبندیشده با اولویت پایینتر معرفی میکند.
روش دوم: میانگین مصرف CPU اسکن Defender را محدود کنید
اگر اسکنهای Defender همچنان فشار زیادی به پردازنده وارد میکنند، میتوانید مقدار CPU مورد استفاده در اسکن را تنظیم کنید.
مایکروسافت برای این کار گزینهای به نام:
ScanAvgCPULoadFactor
در نظر گرفته است.
مقدار پیشفرض این تنظیم ۵۰ درصد است و میتوان آن را از ۵ تا ۱۰۰ تنظیم کرد. این مقدار یک محدودیت لحظهای و سختگیرانه نیست؛ بلکه راهنمایی برای موتور اسکن است تا مصرف CPU را بهطور میانگین در محدوده تعیینشده نگه دارد.
مرحله اول: PowerShell را باز کنید
دوباره:
PowerShell → Run as administrator
را انتخاب کنید.
مرحله دوم: مقدار ۳۰ درصد را تنظیم کنید
دستور زیر را وارد کنید:
Set-MpPreference -ScanAvgCPULoadFactor 30
Enter را بزنید.
اکنون Defender در اسکنهای مشمول این تنظیم تلاش میکند میانگین مصرف CPU را حدود ۳۰ درصد نگه دارد.
اگر هنوز CPU زیاد مصرف میشود
میتوانید مقدار را به ۲۰ کاهش دهید:
Set-MpPreference -ScanAvgCPULoadFactor 20
اما بهتر است ابتدا ۳۰ را امتحان کنید.
هرچه مقدار پایینتر باشد، اسکن میتواند زمان بیشتری طول بکشد.
یک نکته بسیار مهم
این تنظیم برای همه فعالیتهای Defender اعمال نمیشود.
طبق مستندات مایکروسافت، ScanAvgCPULoadFactor برای اسکنهاست و روی اسکنهای Real-time Protection اعمال نمیشود. همچنین اسکنهایی که کاربر بهصورت دستی اجرا میکند ممکن است این محدودیت را نادیده بگیرند.
بنابراین اگر هنگام بازکردن یک فایل خاص، نصب برنامه یا اجرای یک نرمافزار مصرف CPU بالا میرود، پایینآوردن این مقدار لزوماً مشکل را حل نمیکند.
روش سوم: اسکنهای Defender را فقط هنگام بیکار بودن سیستم اجرا کنید
اگر مشکل شما بیشتر به خاطر اسکنهای زمانبندیشده است، میتوانید تنظیم کنید Defender اسکنهای برنامهریزیشده را زمانی اجرا کند که مشغول استفاده سنگین از کامپیوتر نیستید.
PowerShell را با دسترسی Administrator باز کنید و دستور زیر را اجرا کنید:
Set-MpPreference -ScanOnlyIfIdleEnabled $true
این گزینه باعث میشود اسکنهای زمانبندیشده فقط زمانی اجرا شوند که سیستم در حالت استفاده فعال نباشد.
این روش برای لپتاپهایی که هنگام کار یا بازی با افزایش ناگهانی مصرف CPU مواجه میشوند، کاربردی است.
روش چهارم: زمان اسکن Defender را مدیریت کنید
اگر میدانید Defender معمولاً در ساعت مشخصی اسکن را اجرا میکند، میتوانید زمانبندی آن را بررسی کنید.
مرحله اول: Task Scheduler را باز کنید
در Windows Search بنویسید:
Task Scheduler
و برنامه را باز کنید.
مرحله دوم: وارد پوشه Defender شوید
از ستون سمت چپ به مسیر زیر بروید:
Task Scheduler Library → Microsoft → Windows → Windows Defender
در این قسمت وظایف مختلف مربوط به Defender را مشاهده خواهید کرد.
مرحله سوم: Windows Defender Scheduled Scan را پیدا کنید
روی:
Windows Defender Scheduled Scan
دوبار کلیک کنید.
مرحله چهارم: زمان اجرا را بررسی کنید
به تب:
Triggers
بروید.
در این قسمت میتوانید Trigger مربوط به اسکن را مشاهده کنید.
اگر نیاز به تغییر زمان داشتید، Trigger را انتخاب و روی Edit کلیک کنید.
بهتر است اسکن را برای زمانی تنظیم کنید که:
- در حال بازی نیستید.
- نرمافزار سنگین اجرا نمیکنید.
- در حال رندر یا خروجی گرفتن از ویدئو نیستید.
- کامپیوتر معمولاً روشن است.
هدف این روش خاموشکردن اسکن نیست؛ فقط میخواهیم اجرای آن را به زمان مناسبتری منتقل کنیم.
روش پنجم: علت واقعی مصرف بالای Defender را پیدا کنید
اگر هنوز مشکل برطرف نشده، بهتر است بهجای تغییر تصادفی تنظیمات بفهمید Defender دقیقاً چه چیزی را اسکن میکند.
مایکروسافت ابزار Microsoft Defender Antivirus Performance Analyzer را برای همین کار ارائه کرده است.
این ابزار میتواند مشخص کند کدام فایلها، مسیرها یا پردازشها بیشترین تأثیر را روی عملکرد Defender دارند.
مرحله اول: PowerShell را با دسترسی Administrator باز کنید
در جستوجوی ویندوز بنویسید:
PowerShell
سپس:
Run as administrator
را انتخاب کنید.
مرحله دوم: ثبت عملکرد Defender را شروع کنید
دستور زیر را اجرا کنید:
New-MpPerformanceRecording -RecordTo .\Defender-scans.etl
حالا کاری را انجام دهید که معمولاً باعث افزایش مصرف CPU میشود.
برای مثال:
- برنامهای را اجرا کنید.
- فایلهای زیادی را کپی کنید.
- پروژه برنامهنویسی را باز کنید.
- بازی را اجرا کنید.
- یا منتظر بمانید تا مصرف CPU دوباره بالا برود.
پس از ثبت مشکل، Enter را فشار دهید تا ضبط متوقف شود.
مرحله سوم: گزارش را مشاهده کنید
حالا دستور زیر را اجرا کنید:
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 20 -TopProcesses 20 -TopScans 20
این گزارش کمک میکند بفهمید کدام فایلها، پردازشها یا اسکنها بیشترین فشار را به Defender وارد کردهاند.
این روش بهخصوص برای کاربرانی که با پروژههای بزرگ، فایلهای بسیار زیاد یا نرمافزارهای توسعه کار میکنند، مفید است.
روش ششم: یک پوشه مشخص را از اسکن Defender خارج کنید
اگر Performance Analyzer نشان داد یک پوشه کاملاً مشخص باعث افزایش فعالیت Defender میشود، میتوانید همان پوشه را به Exclusion اضافه کنید.
اما این روش را با احتیاط انجام دهید.
مایکروسافت تأکید میکند فایل یا پوشهای که در Exclusion قرار میگیرد دیگر در اسکن بلادرنگ Defender بررسی نمیشود. بنابراین فقط مواردی را از اسکن خارج کنید که کاملاً به آنها اعتماد دارید.
مسیر در Windows 11
به این مسیر بروید:
Settings → Privacy & security → Windows Security
سپس:
Virus & threat protection → Manage settings
را انتخاب کنید.
در پایین صفحه وارد:
Exclusions → Add or remove exclusions
شوید.
روی:
Add an exclusion
کلیک کنید و سپس:
Folder
را انتخاب کنید.
حالا پوشه موردنظر را انتخاب کنید.
چه پوشهای را Exclude کنیم؟
فقط پوشهای که:
- علت مشکل آن را شناسایی کردهاید.
- محتوای آن مطمئن است.
- فایلهای ناشناس از اینترنت در آن قرار نمیگیرند.
- حذف آن از اسکن امنیتی برایتان قابل قبول است.
چه پوشههایی را Exclude نکنیم؟
این موارد انتخاب مناسبی نیستند:
- کل درایو C
- Downloads
- Desktop
- پوشههای حاوی فایلهای ناشناس
- پوشههای دانلود تورنت
- پوشههای نرمافزارهای کرک
- کل پوشه کاربران
هرچه Exclusion بزرگتر باشد، بخش بیشتری از سیستم از محافظت بلادرنگ خارج میشود.
روش هفتم: اگر برنامهنویس هستید، Dev Drive را بررسی کنید
اگر برنامهنویس هستید و با پروژههایی کار میکنید که هزاران یا میلیونها فایل دارند، مشکل ممکن است از تعداد زیاد عملیات فایل ناشی شود.
در Windows 11 قابلیتی به نام Dev Drive وجود دارد که برای workloadهای توسعه طراحی شده است.
Microsoft Defender برای Dev Drive حالت عملکردی ویژهای دارد که میتواند تأثیر اسکن روی عملیات فایل را کاهش دهد. این روش برای کاربر عادی ضروری نیست.
اگر فقط برای وبگردی، بازی، تماشای فیلم یا کارهای اداری از سیستم استفاده میکنید، نیازی نیست برای کاهش مصرف CPU یک Dev Drive ایجاد کنید.
روش هشتم: Defender و Windows را بهروز کنید
گاهی اوقات مشکل مصرف بالای CPU میتواند به نسخه Windows، موتور Defender یا Security Intelligence مربوط باشد.
ابتدا Windows Update را بررسی کنید.
مسیر:
Settings → Windows Update
سپس:
Check for updates
را بزنید.
برای بررسی بهروزرسانیهای امنیتی Defender نیز وارد:
Windows Security → Virus & threat protection
شوید.
در بخش:
Virus & threat protection updates
گزینه:
Check for updates
را انتخاب کنید.
Microsoft Defender بهطور خودکار اطلاعات امنیتی جدید را از طریق Windows Update دریافت میکند.
روش نهم: اگر به بدافزار مشکوک هستید، اسکن امنیتی انجام دهید
اگر مصرف بالای CPU همراه با رفتارهای غیرعادی سیستم اتفاق افتاده است، احتمال وجود بدافزار را هم در نظر بگیرید.
علائم مشکوک میتوانند شامل موارد زیر باشند:
- کندی ناگهانی و غیرعادی سیستم
- مصرف غیرطبیعی اینترنت
- بازشدن پنجرههای ناشناس
- تغییر ناخواسته مرورگر
- نصب برنامههایی که خودتان نصب نکردهاید
- اجرای پردازشهای ناشناس
در این شرایط Windows Security را باز کنید و به:
Virus & threat protection → Scan options
بروید.
در این قسمت میتوانید نوع اسکن را انتخاب کنید.
برای بررسی عمیقتر، گزینه Full scan مناسبتر است.
اگر احتمال آلودگی جدی وجود دارد، Microsoft Defender Offline scan نیز گزینه مهمی است؛ این اسکن سیستم را Restart میکند و بررسی را در محیطی خارج از اجرای عادی Windows انجام میدهد.
روش دهم: Microsoft Defender را بهطور کامل خاموش نکنید
یکی از راهکارهایی که در اینترنت زیاد پیشنهاد میشود، خاموشکردن Real-time protection است.
این کار ممکن است در کوتاهمدت مصرف CPU را کاهش دهد، اما راهحل مناسبی برای مشکل دائمی نیست.
وقتی Real-time protection خاموش باشد، فایلها و برنامههایی که باز یا اجرا میکنید در همان لحظه توسط Defender بررسی نمیشوند.
اگر فقط یک پوشه یا فرآیند مشخص باعث مشکل شده است، بهتر است ابتدا علت را شناسایی و در صورت اطمینان از یک Exclusion محدود استفاده کنید.
اگر تنظیمات CPU را تغییر دادیم، چگونه به حالت قبل برگردانیم؟
اگر مقدار CPU را تغییر دادهاید و میخواهید تنظیمات به حالت پیشفرض برگردد، PowerShell را با دسترسی Administrator باز کنید.
برای برگرداندن محدودیت CPU به مقدار پیشفرض:
Set-MpPreference -ScanAvgCPULoadFactor 50
برای غیرفعالکردن اولویت پایین CPU:
Set-MpPreference -EnableLowCpuPriority $false
و برای غیرفعالکردن اجرای اسکن فقط هنگام بیکار بودن سیستم:
Set-MpPreference -ScanOnlyIfIdleEnabled $false
البته اگر تنظیمات دیگری از قبل روی Defender داشتهاید، بهتر است قبل از تغییر آنها وضعیت فعلی تنظیمات را بررسی کنید.
بهترین روش برای هر نوع کاربر چیست؟
لازم نیست تمام روشهای بالا را اجرا کنید.
اگر کاربر معمولی هستید
این ترتیب را امتحان کنید:
- Task Manager را بررسی کنید.
- چند دقیقه صبر کنید تا ببینید مصرف CPU کاهش پیدا میکند یا خیر.
- Windows و Defender را بهروز کنید.
- اجرای اسکنهای زمانبندیشده را به زمان مناسب منتقل کنید.
- در صورت نیاز
ScanAvgCPULoadFactorرا روی ۳۰ تنظیم کنید.
اگر گیمر هستید
پیشنهاد میشود:
- زمان اسکن Defender را به خارج از زمان بازی منتقل کنید.
EnableLowCpuPriorityرا فعال کنید.ScanAvgCPULoadFactorرا روی ۳۰ امتحان کنید.- اگر مشکل ادامه داشت، Performance Analyzer را اجرا کنید.
- فقط در صورت شناسایی یک پوشه مشخص و کاملاً مطمئن، Exclusion ایجاد کنید.
اگر برنامهنویس هستید
بهتر است ابتدا Performance Analyzer را اجرا کنید.
اگر مشخص شد پروژه یا مسیر خاصی باعث افزایش شدید فعالیت Defender میشود، میتوانید Exclusion محدود ایجاد کنید یا برای پروژههای سنگین، Dev Drive را بررسی کنید.
چرا Microsoft Defender گاهی CPU زیادی مصرف میکند؟
مصرف بالای CPU معمولاً به یکی از این دلایل مربوط است:
اسکن زمانبندیشده
Defender ممکن است در پسزمینه اسکن برنامهریزیشده خود را اجرا کند.
تعداد زیاد فایلها
پوشههایی با تعداد بسیار زیادی فایل کوچک میتوانند عملیات اسکن بیشتری ایجاد کنند.
فایلهای فشرده
آرشیوهای بزرگ و فایلهای فشرده ممکن است برای بررسی به پردازش بیشتری نیاز داشته باشند.
نصب یا اجرای برنامه جدید
Defender فایلهای جدید را برای شناسایی تهدیدها بررسی میکند.
پروژههای توسعه نرمافزار
پروژههای بزرگ میتوانند تعداد بسیار زیادی عملیات خواندن و نوشتن فایل ایجاد کنند.
شناسایی تهدید
اگر Defender به یک فایل یا رفتار مشکوک برخورد کند، ممکن است فعالیت بیشتری برای بررسی و پاکسازی انجام دهد.
جمعبندی
اگر Antimalware Service Executable برای مدت طولانی CPU زیادی مصرف میکند، بهتر است بهجای خاموشکردن Microsoft Defender، ابتدا علت را مشخص کنید.
ترتیب پیشنهادی برای اکثر کاربران این است:
Task Manager → بهروزرسانی Defender → کاهش اولویت اسکن → محدودکردن CPU اسکن → زمانبندی اسکن → Performance Analyzer → Exclusion هدفمند
برای شروع میتوانید در PowerShell با دسترسی Administrator این دو دستور را اجرا کنید:
Set-MpPreference -EnableLowCpuPriority $true
Set-MpPreference -ScanAvgCPULoadFactor 30
با این حال، توجه داشته باشید که ScanAvgCPULoadFactor روی اسکنهای Real-time Protection اعمال نمیشود و محدودیت آن نیز یک سقف لحظهای و قطعی نیست.
اگر مشکل هنگام استفاده از یک برنامه یا پوشه مشخص اتفاق میافتد، بهترین کار این است که ابتدا با Microsoft Defender Performance Analyzer علت را پیدا کنید و سپس در صورت اطمینان، فقط همان مسیر مشخص را از اسکن خارج کنید.
به این ترتیب میتوانید مصرف CPU را کاهش دهید، بدون اینکه محافظت امنیتی کل سیستم را غیرفعال کنید.
سوالات متداول
چرا Antimalware Service Executable CPU زیادی مصرف میکند؟
معمولاً Defender در حال اسکن فایلها، اجرای اسکن زمانبندیشده یا بررسی تعداد زیادی فایل است. اگر مصرف فقط برای مدت کوتاهی بالا میرود، معمولاً طبیعی است.
آیا میتوان مصرف CPU Defender را محدود کرد؟
بله. PowerShell گزینه ScanAvgCPULoadFactor را برای تنظیم میانگین مصرف CPU در اسکنها ارائه میکند. مقدار پیشفرض ۵۰ است و میتوانید مثلاً آن را روی ۳۰ قرار دهید. این تنظیم محدودیت سخت و لحظهای نیست.
آیا کاهش CPU مصرفی Defender باعث کاهش امنیت میشود؟
تنظیم اولویت CPU یا محدودکردن میانگین مصرف CPU اسکن، Defender را خاموش نمیکند. بااینحال، Exclusion امنیت را برای فایل یا پوشه انتخابشده کاهش میدهد و باید با احتیاط استفاده شود.
آیا باید Microsoft Defender را خاموش کنیم؟
خیر. خاموشکردن Real-time protection راهحل مناسبی برای مشکل دائمی مصرف CPU نیست و سطح محافظت سیستم را کاهش میدهد.
چرا بعد از تنظیم ScanAvgCPULoadFactor هنوز CPU بالاست؟
چون این تنظیم روی Real-time Protection اعمال نمیشود و اسکنهای دستی نیز ممکن است محدودیت آن را نادیده بگیرند.
بهترین راه برای پیدا کردن علت مصرف بالای Defender چیست؟
اگر مشکل دائمی است، از Microsoft Defender Performance Analyzer استفاده کنید. این ابزار میتواند فایلها، پردازشها و اسکنهایی را که بیشترین تأثیر را روی عملکرد Defender دارند مشخص کند.