Bieżąca długość kolejki dysku (dysk fizyczny)

Microsoft.Windows.Server.10.0.PhysicalDisk.CurrentDiskQueueLength (UnitMonitor)

Monitoruje licznik wydajności Dysk fizyczny\Bieżąca długość kolejki dysku

Knowledge Base article:

Podsumowanie

Wysoka wartość licznika „Bieżąca długość kolejki” dla dysku fizycznego utrzymywała się w wielu kolejnych próbkach. Oznacza to, że czas oczekiwania żądań operacji we/wy prawdopodobnie zwiększy się dla tego dysku fizycznego.

Bieżąca długość kolejki dysku to liczba oczekujących żądań na dysku w momencie zbierania danych o wydajności. Oznacza to, że dysk fizyczny nie może obsługiwać żądań operacji we/wy tak szybko, jak są one generowane.

Przyczyny

Na dysku fizycznym wystąpił ostatnio znaczący wzrost aktywności, przez co ten skok spowodował przekroczenie progu, lub użycie dysku fizycznego stabilnie rosło w miarę upływu czasu, osiągając w końcu punkt przekraczający próg.

Inną przyczyną może być nieprawidłowe działanie lub niewłaściwa konfiguracja bazowych dysków fizycznych albo podsystemu dyskowego, co wpływa na wydajność dysku fizycznego.

Rozwiązania

W celu dalszego zbadania problemu można podjąć następujące kroki:

Rozwiązania mogą się różnić w zależności od wyników tych badań i mogą obejmować:

Element properties:

TargetMicrosoft.Windows.Server.10.0.PhysicalDisk
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Instance NamePhysicalDisk
Counter NameCurrent Disk Queue Length
Frequency300
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeSystem.Performance.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
Bieżąca długość kolejki dysku fizycznego jest zbyt duża
Próg licznika wydajności Dysk fizyczny\Bieżąca długość kolejki dysku został przekroczony.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.10.0.PhysicalDisk.CurrentDiskQueueLength" Accessibility="Public" Enabled="true" Target="ServervNext!Microsoft.Windows.Server.10.0.PhysicalDisk" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="SystemPerf!System.Performance.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.10.0.PhysicalDisk.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>PhysicalDisk</ObjectName>
<InstanceName>$Target/Property[Type="WindowsServer!Microsoft.Windows.Server.PhysicalDisk"]/PerfmonInstance$</InstanceName>
<Frequency>300</Frequency>
<Threshold>32</Threshold>
<Direction>greaterequal</Direction>
<NumSamples>12</NumSamples>
</Configuration>
</UnitMonitor>