适用:Windows 10 / Windows 11 家庭版(Home)。目的:把 Microsoft Defender 扫描期间的平均 CPU 占用目标设为 20%,无需关闭防病毒保护。
注意:20% 是扫描引擎的平均 CPU 负载目标,不是严格上限;短时间可能超过,也不能限制实时防护扫描。
1. 打开管理员 PowerShell
右键 Windows开始按钮 →终端(管理员)/Windows PowerShell(管理员)。若打开的是 Windows 终端,请使用PowerShell标签页(命令行以PS开头)。
2. 查看当前配置
复制执行:
Get-MpPreference|Select-ObjectScanAvgCPULoadFactor,ScanOnlyIfIdleEnabled,DisableCpuThrottleOnIdleScans修改前记下输出值,以便需要时恢复。
ScanAvgCPULoadFactor ScanOnlyIfIdleEnabled DisableCpuThrottleOnIdleScans -------------------- --------------------- ----------------------------- 50 True True3. 设置扫描 CPU 占用目标为 20%
在管理员 PowerShell执行:
Set-MpPreference-ScanAvgCPULoadFactor 20Set-MpPreference-DisableCpuThrottleOnIdleScans$false- 第 1 行:把扫描平均 CPU 占用目标设置为20%。
- 第 2 行:允许空闲时的计划扫描也应用 CPU 限速,避免因默认的空闲扫描行为导致设置被忽略。
20可以按需替换为10、30等。允许值为5~100;0表示不限制 CPU,不是限制到 0%。调低目标可能延长扫描时间。
4. 验证是否设置成功
Get-MpPreference|Select-ObjectScanAvgCPULoadFactor,DisableCpuThrottleOnIdleScans预期看到:
ScanAvgCPULoadFactor DisableCpuThrottleOnIdleScans -------------------- ----------------------------- 20 False若设置值正确,说明配置已写入。可在 Defender 后续执行扫描时打开任务管理器 → 进程 → CPU观察效果;实际 CPU 使用率不保证始终低于 20%。
5. 恢复设置
优先恢复第 2 步记录的原值。如果原本采用常见默认配置,可执行:
Set-MpPreference-ScanAvgCPULoadFactor 50Set-MpPreference-DisableCpuThrottleOnIdleScans$true常见问题
| 现象 | 原因与处理 |
|---|---|
| 已设为 20%,CPU 仍超过 20% | 该值并非硬限制;还要区分计划扫描与实时扫描。 |
| CPU 在电脑空闲时仍很高 | 确认DisableCpuThrottleOnIdleScans为False。 |
| 编译代码、解压文件时仍占用很高 | 多为实时防护触发的扫描,以上设置不能限制这种 CPU 占用。 |
| 提示拒绝访问或设置被恢复 | 确认管理员权限;受组织策略管理的电脑需联系管理员。不要关闭篡改防护。 |
微软官方依据:
- Set-MpPreference:ScanAvgCPULoadFactor、DisableCpuThrottleOnIdleScans
- 排查 Microsoft Defender 防病毒扫描问题