LSASS Process Monitor

Microsoft.Windows.Server.2012.AD.PerformanceEssentialServices.LSASS.Monitor (UnitMonitor)

Monitors the CPU utilization of the lsass process.

Knowledge Base article:

Summary

LSASS Process Monitor. The core process (lsass.exe) for Active Directory Domain Services is consuming a lot of CPU resources.

If the overall CPU utilization on the server is too high, users and services that rely on Active Directory Domain Services may experience delays.

Causes

Possible causes include the following:

Resolutions

View the overall system performance of the machine to determine if it needs additional resources.

Add additional domain controllers to help load-balance the load.

Ensure that there are a sufficient number of DCs in the active AD sites.

External

Element properties:

TargetMicrosoft.Windows.Server.2012.AD.DomainControllerRole
Parent MonitorMicrosoft.Windows.Server.2012.AD.PerformanceEssentialServices.AggregateMonitor
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.Server.2012.AD.PerformanceEssentialServices.LSASS.Monitor.Monitortype
RemotableFalse
AccessibilityPublic
Alert Message
The LSASS process has exceeded the processor utilization threshold over multiple samples.
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.2012.AD.PerformanceEssentialServices.LSASS.Monitor" Accessibility="Public" Enabled="true" Target="AD2012Core!Microsoft.Windows.Server.2012.AD.DomainControllerRole" ParentMonitorID="Microsoft.Windows.Server.2012.AD.PerformanceEssentialServices.AggregateMonitor" Remotable="false" Priority="Normal" TypeID="Microsoft.Windows.Server.2012.AD.PerformanceEssentialServices.LSASS.Monitor.Monitortype" ConfirmDelivery="false">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.2012.AD.PerformanceEssentialServices.LSASS.Monitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='ErrorString']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ADCPUOverloadOk" MonitorTypeStateID="ADCPUOverloadOk" HealthState="Success"/>
<OperationalState ID="ADCPUOverloadError" MonitorTypeStateID="ADCPUOverloadError" HealthState="Error"/>
</OperationalStates>
<Configuration>
<Frequency>300</Frequency>
<TimeoutSeconds>300</TimeoutSeconds>
<Threshold>80</Threshold>
<NumSamples>10</NumSamples>
</Configuration>
</UnitMonitor>