排查与实时保护相关的性能问题
适用于:
- Microsoft Defender for Endpoint计划 1 和 2
- Microsoft Defender 防病毒
平台
- Windows
- Windows Server
如果系统的 CPU 使用率较高或与Microsoft Defender防病毒 (反恶意软件服务可执行文件相关的性能问题,MsMpEng.exe,Microsoft Defender防病毒) 。
作为管理员,你还可以自行排查这些问题。
首先,如果其他软件导致此问题,可能需要检查。 请阅读 与供应商联系,了解防病毒排除的已知问题。
Microsoft Defender防病毒提高 CPU 使用率的常见原因
Reason | 解决方案 |
---|---|
1. 二进制文件未 (.exe 、 .dll 、 等签名) 每当启动/启动二进制 ((如 .exe 、.dll 等)) 时,如果未进行数字签名,Microsoft Defender防病毒将启动实时保护扫描或运行计划扫描和/或按需扫描。 |
应考虑使用内部 PKI 对二进制文件进行签名。 和/或联系供应商,以便他们可以对二进制文件进行签名。 并将证书添加到 指示器 - 证书 - 允许 我们建议软件供应商遵循 与行业合作的各种准则,以尽量减少误报。 软件供应商或软件开发人员可以在Microsoft 安全智能门户中提交应用程序、服务或脚本。 作为解决方法,可以执行以下步骤: 1. (首选) 对于 .exe 和 dll 的使用 指标 - 文件哈希 - 允许 2. (替代) (process+path) 添加防病毒排除 项。 |
2. 使用 HTA、CHM 和不同的文件作为数据库。 每当防病毒Microsoft Defender必须提取和/或扫描复杂文件格式时,CPU 使用率可能会提高。 |
如果需要保存并查询信息,请考虑切换到使用实际数据库。 解决方法是 (process+path) 添加防病毒排除 项。 |
3. 对脚本使用模糊处理。 如果混淆脚本,Microsoft Defender防病毒,以便检查脚本是否包含恶意有效负载,它会在扫描时使用更高的 CPU 使用率。 |
仅在必要时使用脚本模糊处理。 解决方法是 (process+path) 添加防病毒排除 项。 |
4. 在密封映像之前,不让Microsoft Defender防病毒缓存完成。 | 如果要为非持久性映像创建 VDI 映像(例如),请确保缓存维护在密封映像之前完成。 有关详细信息,请参阅在远程桌面或虚拟桌面基础结构环境中配置Microsoft Defender防病毒。 |
5 . 由于拼写错误,路径排除 () 错误。 如果添加拼写错误的排除路径,可能会导致性能问题。 |
使用 MpCmdRun.exe -CheckExclusion -Path 验证基于路径的排除项。 |
6 . 添加路径排除后,它适用于扫描流。 行为监视 (BM) 和网络实时检查 (NRI) 仍可能导致性能问题。 |
解决方法如下: 1. (首选) 对于 .exe 和 dll 的使用 指示器 - 文件哈希 - 允许 或 指示器 - 证书 - 允许 2. (替代) (process+path) 添加防病毒排除 项。 |
7. 文件哈希计算。 如果启用用于 文件指示器的文件哈希计算,则性能开销更大。 例如,将大型文件从网络共享复制到本地设备(尤其是通过 VPN 连接),可能会对设备性能产生影响。 |
这是你和你的领导团队必须决定增加或降低 CPU 利用率的位置。 一种可能的解决方案是禁用文件哈希计算功能。 转到计算机配置>管理模板>Windows 组件>Microsoft Defender防病毒>MpEngine,然后启用文件哈希计算功能。 注意:若要启用“指示器 - 文件哈希”功能,必须激活此功能。 |
帮助确定哪个组件可能导致更高的 CPU 使用率
组件 | 解决方案 |
---|---|
实时保护 (RTP) 扫描 | 可以使用 故障排除模式 关闭 篡改防护。 关闭篡改保护后,可以暂时关闭“实时保护”,以排除它。 请参阅上一部分,Microsoft Defender防病毒提高 CPU 使用率的常见原因。 |
计划扫描 | 检查默认计划扫描设置 常规计划扫描设置。 - 为计划扫描配置低 CPU 优先级 (对计划扫描) 使用低 CPU 优先级。 Windows 中正常扫描的线程优先级有两个值: 8 (较低的) 和 9 (更高的) 。 通过将其设置为 enabled ,可将计划的扫描线程优先级从 9 降低到 8 ,这使其他应用程序线程能够以更高的优先级运行,从而获得比 Microsoft Defender 防病毒更多的 CPU 时间。 - 指定扫描期间 CPU 使用率的最大百分比 (每个扫描) 的 CPU 使用率限制。 50 是默认设置;可以将其降低到 20 或 30 。 如果你有更改控制窗口,则通过修改可以使用的 CPU 量,会导致扫描花费更长的时间。 - 仅当计算机处于打开但未使用状态时才启动计划扫描,方法是将 Not configured (ScanOnlyIfIdle 默认情况下启用) 。 它要求计算机处于空闲状态,这意味着设备的总体 CPU 使用率必须低于 80%。 每日快速扫描设置 - 设置为 Specify the interval to run quick scans per day Not configured (在下一个快速扫描运行之前经过了多少小时 - 0 到 24 小时) - 设置为 Specify the time for a daily quick scan (Run daily quick scan at) 12 PM 。 (快速或完整) 设置运行每周计划的扫描 - 指定要用于计划扫描的扫描类型 (设置为 Scan type Not configured ) 。 - 指定一天中运行计划扫描的时间, (设置为 Day of week to run scheduled scan Not configured ) 。 - 指定要运行计划扫描的星期几 (设置为 Time of day to run a scheduled scan Not configured ) 。 |
安全智能更新后扫描。 | 默认情况下,Microsoft Defender防病毒会在安全智能更新后扫描,以实现最佳保护目的。 如果启用了计划扫描,则可能认为存在超出计划运行的扫描。 这是你和你的领导团队必须决定增加或降低 CPU 利用率的位置。 解决方法是,在 组策略 (或其他管理工具(如 MDM) )中,转到“计算机配置>管理模板Microsoft Defender>防病毒>安全智能汇报”,并将“在安全智能更新后启用扫描”设置为 Disabled 。 |
与其他安全软件冲突 | 如果你有非Microsoft安全软件(如防病毒、EDR、DLP、终结点特权管理、VPN 等),请将该软件添加到Microsoft Defender防病毒排除 (路径 + 进程) ,反之亦然。 若要获取Microsoft Defender防病毒二进制文件的列表,请参阅配置网络环境以确保与 Defender for Endpoint 服务的连接。 |
扫描大量文件或文件夹 | 如果你有一个大文件(如 .iso、.vhdx 等)位于用户配置文件 (桌面、下载、文档等) 并且该配置文件被重定向到网络共享(例如脱机文件 (CSC) 或 OneDrive (或类似产品) ),扫描可能需要更长的运行时间。 这是因为你正在扫描网络,与本地存储在设备上的文件相比,网络延迟更高。 如果不需要位于配置文件上的 .iso/.vhd/.vhdx 等,请将其移动到其他文件夹, (映射驱动器、unc 共享、smb 共享) 不位于网络共享上。 |
触发和导致Microsoft Defender防病毒中 CPU 使用率更高的因素
完成 proa\ctive 步骤后,可以确定触发和导致 CPU 使用率更高的因素:
# | 有助于缩小触发 CPU 使用率过高因素的工具 | Comments |
---|---|---|
1 | 收集Microsoft Defender防病毒诊断数据 | Microsoft Defender防病毒诊断数据,每当排查Microsoft Defender防病毒问题时,你希望包含这些数据。 |
2 | 用于Microsoft Defender防病毒的性能分析器 | 有关与 Microsoft Defender 防病毒相关的特定于性能的问题,请参阅适用于 Microsoft Defender 防病毒的性能分析器。 这使你可以运行数据收集并分析数据,其中数据易于理解。 注意:在收集此数据时,请确保问题重现。 |
3 | 排查进程监视器Microsoft Defender防病毒性能问题 | 如果出于某种原因,Microsoft Defender防病毒性能分析器未提供需要缩小触发 CPU 使用率高的原因的详细信息,则可以使用进程监视器 (ProcMon) 。 提示:可以收集 5-10 分钟。 注意:在收集此数据时,请确保问题重现。 |
4 | 排查 WPRUI Microsoft Defender防病毒性能问题 | 若要进行更高级的故障排除,可以使用 Windows Performance Recorder UI (WPRUI) 或 Windows Performance Recorder (WPR) 。 请记住,由于此跟踪的详细程度,最多应限制为 3 到 5 分钟。 确保收集此数据时,问题正积极发生。 |
有关防病毒产品的已知问题,请与供应商联系
如果可以轻松识别影响系统性能的软件,请转到软件供应商的知识库或支持中心。 检查防病毒产品是否存在任何已知问题。 如有必要,可以与他们一起开具支持票证,并要求他们发布一个支持票证。
我们建议软件供应商遵循 与行业合作的各种准则,以尽量减少误报。 供应商可以通过Microsoft 安全智能门户提交其软件。
如果我仍有问题,该怎么办?
可以向 Microsoft支持人员提交票证。
按照收集Microsoft Defender防病毒诊断数据中的步骤作。
另请参阅
提示
想要了解更多信息? Engage技术社区中的Microsoft安全社区:Microsoft Defender for Endpoint技术社区。