Total Number of Active Sessions

Microsoft.Windows.Server.10.0.RemoteDesktopServicesRole.Service.RDSessionHost.ActiveSessions (UnitMonitor)

This object monitors the total number of active sessions on the RD Session Host server.

Knowledge Base article:

Summary

The number of active user sessions for Remote Desktop Session Host (RD Session Host) is outside normal operating conditions.

Causes

The total number of active user sessions on the RD Session Host server is approaching the performance limits of the computer hardware on which the RD Session Host role service is installed.

Resolutions

To prevent this problem, configure a maximum number of active sessions allowed, based on the performance limits for the computer hardware on which the RD Session Host role service is installed.

To configure the maximum number of active sessions that this RD Session Host server is allowed, configure the Active Session Limit setting on the Sessions tab of the Connection Properties dialog box in Remote Desktop Session Host Configuration.

The previously mentioned setting can also be controlled by using the Group Policy console. In the navigation pane, open Computer Configuration, Administrative Templates, Windows Components, Remote Desktop Services, and then Sessions. Change the properties for maximum allowed active sessions as needed.

Element properties:

TargetMicrosoft.Windows.Server.10.0.RemoteDesktopServicesRole.Service.RDSessionHost
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Instance NameTerminal Services
Counter NameActive Sessions
Frequency900
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.TwoStateBaseliningMonitorWithoutCompression
RemotableTrue
AccessibilityPublic
Alert Message
Remote Desktop Services Active Session Metric Above Baseline
Active Sessions metric is above the calculated baseline. Current value is >{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.10.0.RemoteDesktopServicesRole.Service.RDSessionHost.ActiveSessions" Accessibility="Public" Enabled="false" Target="Microsoft.Windows.Server.10.0.RemoteDesktopServicesRole.Service.RDSessionHost" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.TwoStateBaseliningMonitorWithoutCompression" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.10.0.RemoteDesktopServicesRole.Service.RDSessionHost.ActiveSessions.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>&gt;$Data/Context/Property[@Name='Average']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ActiveSessionsNormal" MonitorTypeStateID="WithinEnvelope" HealthState="Success"/>
<OperationalState ID="ActiveSessionsHigh" MonitorTypeStateID="OutsideEnvelope" HealthState="Error"/>
</OperationalStates>
<Configuration>
<SignatureID>Microsoft.Windows.Server.10.0.RemoteDesktopServicesRole.Service.RDSessionHost.ActiveSessions.Sig</SignatureID>
<DataSourceSettings>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<ObjectName>Terminal Services</ObjectName>
<CounterName>Active Sessions</CounterName>
<InstanceName/>
<AllInstances>false</AllInstances>
<Frequency>900</Frequency>
</DataSourceSettings>
<LearningAndBaseliningSettings>
<BusinessCycleLengthUnit>Week</BusinessCycleLengthUnit>
<BusinessCycleLengthInGivenUnit>1</BusinessCycleLengthInGivenUnit>
<LearningType>Continuous</LearningType>
<Offset1>3</Offset1>
<Offset2>3</Offset2>
<Offset3>3</Offset3>
<LearningRate>2.33</LearningRate>
<InitialNoAlertPeriodInBizCycles>1</InitialNoAlertPeriodInBizCycles>
<OuterSensitivity>3.31</OuterSensitivity>
<InnerSensitivity>2.81</InnerSensitivity>
</LearningAndBaseliningSettings>
<SignatureCollectionSettings>
<DBUpdatePeriodInSeconds>900</DBUpdatePeriodInSeconds>
</SignatureCollectionSettings>
</Configuration>
</UnitMonitor>