Текущая длина очереди диска (логический диск)

Microsoft.Windows.Server.6.2.LogicalDisk.CurrentDiskQueueLength (UnitMonitor)

Мониторинг счетчика производительности "Логический диск\Текущая длина очереди диска"

Knowledge Base article:

Краткое описание

На логическом диске наблюдалось стабильно высокое значение датчика "Текущая длина очереди" при нескольких последовательных считываниях. В результате на данном логическом диске, скорее всего, увеличатся задержки выполнения запросов ввода-вывода.

"Текущая длина очереди диска" — это количество запросов, находящихся в состоянии ожидания на диске в момент сбора данных о производительности. Это означает, что скорость, с которой поступают запросы ввода-вывода, превышает скорость обработки таких запросов логическим диском.

Причины

Возможно, на логическом диске недавно наблюдалось существенное увеличение количества операций, и это привело к превышению порога, либо степень использования диска постоянно росла с течением времени и превысила пороговое значение.

Также не исключено, что некоторая часть физических дисков или дисковой подсистемы имеет неисправность или неправильно настроена, что сказывается на производительности логического диска.

Решения

Для дальнейшей диагностики проблемы выполните следующие действия.

На основании сведений, полученных при дальнейшем анализе, могут быть приняты различные решения, включая следующие.

Element properties:

TargetMicrosoft.Windows.Server.6.2.LogicalDisk
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Instance NameLogicalDisk
Counter NameCurrent Disk Queue Length
Frequency300
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
Текущая длина очереди логического диска слишком велика
Превышено пороговое значение счетчика "Логический диск\текущая длина очереди диска".
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.6.2.LogicalDisk.CurrentDiskQueueLength" Accessibility="Public" Enabled="true" Target="WindowsServer!Microsoft.Windows.Server.6.2.LogicalDisk" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.6.2.LogicalDisk.CurrentDiskQueueLength.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters/>
</AlertSettings>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="ConditionTrue" HealthState="Warning"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="ConditionFalse" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Current Disk Queue Length</CounterName>
<ObjectName>LogicalDisk</ObjectName>
<InstanceName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</InstanceName>
<Frequency>300</Frequency>
<Threshold>32</Threshold>
<Direction>greaterequal</Direction>
<NumSamples>12</NumSamples>
</Configuration>
</UnitMonitor>