排查与实时保护相关的性能问题

适用于:

平台

  • Windows

如果系统的 CPU 使用率过高或与 Microsoft Defender for Endpoint 中的实时保护服务相关的性能问题,你可以向 Microsoft 支持部门提交票证。 按照收集Microsoft Defender防病毒诊断数据中的步骤操作。

作为管理员,你还可以自行排查这些问题。

首先,如果问题是由其他软件引起的,则可能需要检查。 请阅读 与供应商核实防病毒排除项

否则,可以按照 分析 Microsoft 保护日志中的步骤确定与已识别的性能问题相关的软件。

还可以按照中的步骤向 Microsoft 支持部门提供提交的其他日志:

有关与Microsoft Defender防病毒相关的特定于性能的问题,请参阅:Microsoft Defender防病毒的性能分析器

与供应商核实防病毒排除项

如果可以轻松识别影响系统性能的软件,请转到软件供应商的知识库或支持中心。 搜索他们是否有关于防病毒排除的建议。 如果供应商的网站没有它们,你可以与他们一起开具支持票证,并要求他们发布一个支持票证。

我们建议软件供应商遵循 与行业合作的各种准则,以尽量减少误报。 供应商可以通过Microsoft 安全智能门户提交其软件。

分析 Microsoft 保护日志

可以在 C:\ProgramData\Microsoft\Windows Defender\Support 中找到 Microsoft 保护日志文件。

MPLog-xxxxxxxx-xxxxxx.log中,可以找到运行软件的估计性能影响信息 ,如 EstimatedImpact

Per-process counts:ProcessImageName: smsswd.exe, TotalTime: 6597, Count: 1406, MaxTime: 609, MaxTimeFile: \Device\HarddiskVolume3\_SMSTaskSequence\Packages\WQ1008E9\Files\FramePkg.exe, EstimatedImpact: 65%



字段名 说明
ProcessImageName 进程映像名称
TotalTime 扫描此过程访问的文件所花费的累积持续时间(以毫秒为单位)
记数 此过程访问的扫描文件数
MaxTime 此过程访问的文件的最长单次扫描的持续时间(毫秒)
MaxTimeFile 此过程访问的文件的路径,其中记录了持续时间最长的 MaxTime 扫描
EstimatedImpact 扫描此进程访问的文件所花费的时间百分比,在此过程遇到扫描活动的时间段内

如果性能影响很大,请尝试按照配置和验证 Microsoft Defender防病毒扫描的排除项中的步骤将进程添加到路径/进程排除项。

如果上一步无法解决问题,可以通过 以下部分中的进程监视器Windows 性能记录器 收集详细信息。

使用进程监视器捕获进程日志

进程监视器 (ProcMon) 是一种高级监视工具,可显示实时进程。 可以使用它来捕获发生的性能问题。

  1. 进程监视器 v3.89 下载到文件夹,例如 C:\temp

  2. 若要删除文件的 Web 标记,请执行以下操作:

    1. 右键单击 “ProcessMonitor.zip ”,然后选择“ 属性”。
    2. 在“ 常规 ”选项卡下,查找 “安全性”。
    3. 选中“ 取消阻止”旁边的框。
    4. 选择“应用”。

    “删除 MOTW”页

  3. 将文件解压缩到 中 C:\temp ,使文件夹路径为 C:\temp\ProcessMonitor

  4. ProcMon.exe 复制到要进行故障排除的 Windows 客户端或 Windows 服务器。

  5. 在运行 ProcMon 之前,请确保关闭与 CPU 使用率过高问题无关的所有其他应用程序。 这样做将最大程度地减少要检查的进程数。

  6. 可以通过两种方式启动 ProcMon。

    1. 右键单击 “ProcMon.exe ”,然后选择“ 以管理员身份运行”。

      由于日志记录自动启动,请选择放大镜图标以停止当前捕获或使用键盘快捷方式 Ctrl+E

      放大镜图标

      若要验证是否已停止捕获,检查放大镜图标现在是否显示为红色 X。

      红色斜杠

      接下来,若要清除以前的捕获,请选择橡皮擦图标。

      清除图标

      或者使用键盘快捷方式 Ctrl+X

    2. 第二种方法是以管理员身份运行 命令行 ,然后在进程监视器路径中运行:

      cmd procmon

      Procmon.exe /AcceptEula /Noconnect /Profiling
      

      提示

      在捕获数据时,尽可能缩小 ProcMon 窗口,以便轻松启动和停止跟踪。

      显示最小化 Procmon 的页面

  7. 按照步骤 6 中的某个过程操作后,接下来将看到用于设置筛选器的选项。 选择“确定”。 捕获完成后,始终可以筛选结果。

    选择“系统排除”作为“筛选出进程名称”的页面

  8. 若要开始捕获,请再次选择放大镜图标。

  9. 重现问题。

    提示

    等待问题完全重现,然后记下跟踪启动时的时间戳。

  10. 在 CPU 使用率较高的情况下有 2 到 4 分钟的进程活动后,通过选择放大镜图标停止捕获。

  11. 若要使用唯一名称和 .pml 格式保存捕获,请选择“ 文件 ”,然后选择“ 保存...”。请确保选择“ 所有事件 ”和 “本机进程监视器格式”单选按钮, (PML)

    “保存设置”页

  12. 为了更好地跟踪,请将默认路径从 C:\temp\ProcessMonitor\LogFile.PML 更改为 C:\temp\ProcessMonitor\%ComputerName%_LogFile_MMDDYEAR_Repro_of_issue.PML ,其中:

    • %ComputerName% 是设备名称
    • MMDDYEAR 是月份、日和年
    • Repro_of_issue 是你尝试重现的问题的名称

    提示

    如果你有一个工作系统,你可能想要获取一个示例日志进行比较。

  13. 压缩 .pml 文件并将其提交给 Microsoft 支持部门。

使用 Windows 性能记录器捕获性能日志

可以使用 Windows 性能记录器 (WPR) 在提交到 Microsoft 支持部门时包含其他信息。 WPR 是一种功能强大的录制工具,可创建 Windows 录制的事件跟踪。

WPR 是 Windows 评估和部署工具包 (Windows ADK) 的一部分,可从 下载并安装 Windows ADK 下载。 还可以通过 Windows 10 SDK 下载它作为Windows 10软件开发工具包的一部分。

可以按照使用 WPR UI 捕获性能日志中的步骤使用 WPR 用户界面。

或者,还可以按照使用 WPR CLI 捕获性能日志中的步骤,使用命令行工具 wpr.exe,该工具在 Windows 8 及更高版本中可用。

使用 WPR UI 捕获性能日志

提示

如果多个设备遇到此问题,请使用 RAM 最多的设备。

  1. 下载并安装 WPR。

  2. “Windows 工具包”下,右键单击“ Windows 性能记录器”。

    “开始”菜单

    选择“ 更多”。 选择“ 以管理员身份运行”。

  3. 出现“用户帐户控制”对话框时,选择“ ”。

    UAC 页

  4. 接下来,下载Microsoft Defender for Endpoint分析配置文件,并将其另存为 MDAV.wprp 文件夹,例如 C:\temp

  5. 在“WPR”对话框中,选择“ 更多选项”。

    可在其中选择更多选项的页面

  6. 选择“ 添加配置文件...” ,然后浏览到文件的路径 MDAV.wprp

  7. 之后,应在自定义度量下看到名为“Microsoft Defender for Endpoint分析”的新配置文件集。

    文件内

    警告

    如果 Windows Server 的 RAM 为 64 GB 或更多,请使用自定义度量 Microsoft Defender for Endpoint analysis for large servers 值而不是 Microsoft Defender for Endpoint analysis。 否则,系统可能会消耗大量非分页池内存或缓冲区,从而导致系统不稳定。 可以通过展开 “资源分析”来选择要添加的配置文件。 此自定义配置文件为深入性能分析提供必要的上下文。

  8. 若要在 WPR UI 中使用自定义度量Microsoft Defender for Endpoint详细分析配置文件,请执行以下操作:

    1. 确保在“一级会审”、“资源分析和方案分析”组下未选择任何配置文件。
    2. 选择“ 自定义度量”。
    3. 选择“Microsoft Defender for Endpoint分析”。
    4. “详细信息级别”下选择“详细”。
    5. 在“日志记录”模式下选择“ 文件 ”或“ 内存 ”。

    重要

    如果用户可以直接重现性能问题,则应选择“ 文件 ”以使用文件日志记录模式。 大多数问题属于此类别。 但是,如果用户无法直接重现问题,但在问题发生后可以轻松注意到该问题,则用户应选择“ 内存 ”以使用内存日志记录模式。 这可确保跟踪日志不会因运行时间过长而过度膨胀。

  9. 现在可以收集数据了。 退出与重现性能问题无关的所有应用程序。 可以选择“ 隐藏选项 ”,使 WPR 窗口占用的空间保持较小。

    隐藏选项

    提示

    尝试在整秒数开始跟踪。 例如,01:30:00。 这样可以更轻松地分析数据。 此外,尝试跟踪问题重现的确切时间的时间戳。

  10. 选择“开始”

    “记录系统信息”页

  11. 重现问题。

    提示

    将数据收集时间保持在不超过 5 分钟。 两到三分钟是一个很好的范围,因为正在收集大量数据。

  12. 选择“保存”

    “保存”选项

  13. 填写 问题详细说明: 包含有关问题以及如何重现问题的信息。

    在其中填充的窗格

    1. 选择“ 文件名: ”确定跟踪文件的保存位置。 默认情况下,它保存到 %user%\Documents\WPR Files\
    2. 选择“保存”
  14. 在合并跟踪时等待。

    WPR 收集常规跟踪

  15. 保存跟踪后,选择“ 打开文件夹”。

    显示已保存 WPR 跟踪的通知的页面

    在提交中包括文件和文件夹,以Microsoft 支持部门。

    文件和文件夹的详细信息

使用 WPR CLI 捕获性能日志

命令行工具 wpr.exe 是操作系统的一部分,从 Windows 8 开始。 若要使用命令行工具收集 WPR 跟踪,wpr.exe:

  1. 性能跟踪Microsoft Defender for Endpoint分析配置文件下载到本地目录中名为 MDAV.wprp 的文件,例如 C:\traces

  2. 右键单击“开始菜单”图标,然后选择“Windows PowerShell (管理员) ”或“命令提示符” (管理员) 打开管理员命令提示符窗口。

  3. 出现“用户帐户控制”对话框时,选择“ ”。

  4. 在提升的提示符下,运行以下命令以启动Microsoft Defender for Endpoint性能跟踪:

    wpr.exe -start C:\traces\MDAV.wprp!WD.Verbose -filemode
    

    警告

    如果 Windows Server 具有 64 GB 或 RAM 或更多,请分别使用配置文件 WDForLargeServers.LightWDForLargeServers.Verbose 而不是配置文件 WD.LightWD.Verbose。 否则,系统可能会消耗大量非分页池内存或缓冲区,从而导致系统不稳定。

  5. 重现问题。

    提示

    使数据收集不超过 5 分钟。 根据方案,两到三分钟是一个很好的范围,因为正在收集大量数据。

  6. 在提升的提示符下,运行以下命令以停止性能跟踪,确保提供有关问题以及如何重现问题的信息:

    wpr.exe -stop merged.etl "Timestamp when the issue was reproduced, in HH:MM:SS format" "Description of the issue" "Any error that popped up"
    
  7. 等待跟踪合并。

  8. 在提交到 Microsoft 支持部门时同时包含文件和文件夹。

提示

性能提示由于多种因素 (下面列出的示例) Microsoft Defender 防病毒和其他防病毒软件一样,可能会导致终结点设备上的性能问题。 在某些情况下,可能需要优化Microsoft Defender防病毒的性能,以缓解这些性能问题。 Microsoft 的性能分析器 是一种 PowerShell 命令行工具,可帮助确定哪些文件、文件路径、进程和文件扩展名可能导致性能问题;一些示例包括:

  • 影响扫描时间的首要路径
  • 影响扫描时间的热门文件
  • 影响扫描时间的顶级进程
  • 影响扫描时间的热门文件扩展名
  • 组合 - 例如:
    • 每个扩展名的排名靠前的文件数
    • 每个扩展的顶部路径
    • 每个路径的顶级进程数
    • 每个文件的顶级扫描数
    • 每个进程的每个文件扫描数

可以使用性能分析器收集的信息来更好地评估性能问题并应用修正操作。 请参阅:Microsoft Defender防病毒的性能分析器

另请参阅

提示

想要了解更多信息? Engage技术社区中的 Microsoft 安全社区:Microsoft Defender for Endpoint技术社区