Monitoruje całkowite użycie procesora na tym serwerze, korelując liczniki wydajności Informacje o procesorze\Czas procesora (\%)\_Łącznie oraz System\Długość kolejki procesora.
Licznik Użycie procesora (Informacje o procesorze\Czas procesora (%)\_Łącznie oraz Długość kolejki systemowej) dla procesorów systemu przekroczył wartość progową. Po przekroczeniu tej wartości progowej ogólna wydajność systemu może znacząco się obniżyć, co spowoduje spadek wydajności systemu operacyjnego oraz aplikacji.
Procedura monitorowania całkowitego użycia procesora to konfigurowalne rozwiązanie, które umożliwia operatorom ustawienie wartości progowych dla liczników wydajności System\Kolejka procesorów oraz Procesor\Czas procesora (%)\_Łącznie. Gdy wartości z obu liczników przekroczą zdefiniowane progi podczas kilku kolejnych próbek, zmieni się stan monitora. Można również skonfigurować liczbę kolejnych próbek przekraczających próg przed zmianą stanu.
Domyślne wartości progowe procedury monitorowania całkowitego użycia procesora obejmują:
Parametr | Wartość domyślna |
Próg długości kolejki procesorów | 15 |
Próg procentu procesora | 95 |
Liczba próbek | 3 |
Należy pamiętać, że w celu zmiany zdefiniowanych powyżej wartości progowych można użyć zastąpień.
Duże obciążenie komputera przez dłuższy okres może być spowodowane jedną z następujących przyczyn:
Wymagania dotyczące zasobów zestawu aplikacji zainstalowanego na komputerze przekraczają możliwości konfiguracji sprzętu komputera.
Zapotrzebowanie na zasoby komputera zwiększyło się w miarę upływu czasu, a konfiguracja sprzętowa komputera nie może już spełniać rosnącego zapotrzebowania.
Aplikacja działająca na komputerze mogła przejść w niepoprawny stan i teraz wymaga zmiennej ilości zasobów systemowych.
Aby przejrzeć niedawną historię liczników wydajności związanych z procesorem, można użyć następującego widoku:
Uruchom widok wydajności procesora
Aby rozwiązać ten problem, administrator może wykonać następujące zadania:
1. Sprawdzić licznik Użycie procesora (%) dla każdego procesu uruchomionego na serwerze. Można to zrobić za pomocą Menedżera zadań lub przystawki Monitorowanie wydajności. Ustal, które procesy zużywają najwięcej zasobów i monitoruj je przez pewien okres w celu określenia, czy powracają one do normalnych zakresów wydajności. Jeśli nie, należy wykonać dodatkową diagnostykę dla danej aplikacji, aby ustalić najlepszy sposób rozwiązania problemu.
2. W przypadku wykrycia wzrostu obciążenia klientów, który powoduje, że komputer nie jest już w stanie spełnić wymagań, należy wykonać dodatkowe procedury monitorowania wydajności w celu ustalenia, czy podstawowe uaktualnienia sprzętu umożliwią przywrócenie optymalnych zakresów wydajności komputera.
3. Jeśli ustalono, że aplikacja przeszła w niepoprawny stan (prawdopodobnie z powodu wady produktu), może być konieczne ponowne uruchomienie aplikacji. Jeśli problem będzie nadal występował, należy skontaktować się z dostawcą aplikacji.
Target | Microsoft.Windows.Server.10.0.OperatingSystem | ||
Parent Monitor | System.Health.PerformanceState | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.Server.10.0.CPUUtilization.Monitortype | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.Server.10.0.OperatingSystem.TotalCPUUtilization" Accessibility="Public" Enabled="true" Target="ServervNext!Microsoft.Windows.Server.10.0.OperatingSystem" ParentMonitorID="SystemHealth!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.Windows.Server.10.0.CPUUtilization.Monitortype" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.10.0.OperatingSystem.TotalCPUUtilization.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='PctUsage']$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='QueueLength']$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="CPUUtilizationHigh" HealthState="Error"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="CPUUtilizationNormal" HealthState="Success"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<TargetComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</TargetComputerName>
<CPUPercentageThreshold>95</CPUPercentageThreshold>
<CPUQueueLengthThreshold>15</CPUQueueLengthThreshold>
<NumSamples>3</NumSamples>
<CounterName>% Processor Time</CounterName>
<ObjectName>Processor Information</ObjectName>
<InstanceName>_Total</InstanceName>
<AllInstances>false</AllInstances>
</Configuration>
</UnitMonitor>