如何排查Active Directory 域控制器上 Lsass.exe CPU 使用率过高的问题

本文解决Active Directory 域控制器上 CPU 使用率 Lsass.exe 过高的问题。

适用于: Windows Server 2012 R2
原始 KB 编号: 2550044

症状

此问题可能通过以下方式出现:

  • 系统中心顾问警报已触发。 它指出,Lsass.exe 进程始终使用大量 CPU 功能, (CPU 使用率计数器) 。
  • 域控制器响应缓慢,或者根本没有响应客户端服务请求进行身份验证或目录查找。
  • Active Directory 域客户端始终或经常停止从域控制器请求服务。 相反,他们查找不同的域控制器以从中获取服务。
  • 使用 Perfmon.msc 或任务管理器进行性能监视可发现,Lsass.exe 进程始终使用大量 CPU 功能, (进程对象、百分比处理器时间计数器) 。

原因

此问题可能由许多不同的单一问题或组合问题引起。 这些问题的几乎所有原因和解决方法都是唯一的。 在 Windows Server 2008 及更高版本中,以下工具可用于帮助确定问题原因:

   性能监视器的 Active Directory 数据收集器集

解决方案

若要解决此问题,请在出现问题时在域控制器上运行性能监视器的 Active Directory 数据收集器集。 此工具使用性能计数器和跟踪来监视问题。 然后,它编译一个显示潜在问题详细信息的报告。 这些问题需要作为可能的原因进行调查。

若要运行 Active Directory 数据收集器,请执行以下步骤:

  1. 在完整版 Windows Server 2008 或更高版本上打开服务器管理器,或转到“开始运行>Perfmon.msc”>,然后按 Enter。
  2. 展开>诊断可靠性和性能>数据收集器集>系统”。
  3. 右键单击“Active Directory 诊断”,然后在显示的菜单中选择“ 开始 ”。
  4. 默认设置将在 300 秒 (5 分钟) 收集报表的数据。 然后,编译报表需要额外的时间。 编译报表所需的时间与收集的数据量成正比。

编译报告后,转到 诊断>可靠性和性能>报告>系统>Active Directory 诊断。 查看已完成的一个或多个报表。

报告在 “诊断结果” 下包含八大类别,其中将包含报告中的信息和结论。 它并不总是能说明问题的确切原因。 但可以使用它来确定在何处进行调查以查找确切原因。

Lsass.exe 导致 CPU 使用率过高时,检查报告的“诊断结果”部分。 它显示了一般性能问题。 另请查看 Active Directory 类别。 它详细说明了域控制器当时正忙于执行的操作。 例如,哪些 LDAP 查询会影响性能。

域控制器通常最受来自环境中计算机的远程查询的影响最大,这些查询会询问昂贵的查询。 或者,它们受到更多查询量的约束。 报表的网络部分可用于确定在诊断收集数据时与域控制器通信最多的远程客户端。

更多信息

本地安全机构子系统服务 (Lsass.exe) 是 Active Directory 域控制器上的进程。 它负责提供 Active Directory 数据库查找、身份验证和复制。

有关如何排查 Active Directory 域控制器上 Lsass.exe 进程的 CPU 使用率过高问题的详细信息,请参阅 SPA 之子:Win2008 及更高版本的 AD 数据收集器集