\% Utilizzo CPU totale

Microsoft.Windows.Server.10.0.OperatingSystem.TotalCPUUtilization (UnitMonitor)

Esegue il monitoraggio dell'utilizzo CPU totale di questo server correlando i contatori delle prestazioni Informazioni sul processore\\% Tempo processore\_Totale e Sistema\Lunghezza coda processore.

Knowledge Base article:

Riepilogo

L'utilizzo della CPU (Informazioni sul processore\% Tempo processore\_Totale e Lunghezza coda sistema) per il processore o i processori di sistema ha superato la soglia. Una volta superata la soglia, le prestazioni generali del sistema rallentano in modo significativo, rallentando anche il funzionamento del sistema operativo e le prestazioni delle applicazioni.

Configurazione

La routine di monitoraggio Utilizzo CPU totale è una soluzione ampiamente configurabile che consente agli operatori di impostare dei valori di soglia per entrambi i contatori delle prestazioni, Sistema\Coda processore e Processore\% Tempo processore\_Totale. Quando i valori di entrambi i contatori superano le soglie definite per diversi campioni consecutivi, si verificherà una modifica di stato per il monitoraggio. Anche il numero di campioni consecutivi da raccogliere oltre la soglia prima che lo stato venga modificato è configurabile.

I valori di soglia predefiniti per la routine di monitoraggio Utilizzo CPU totale includono:

Parametro

Valore predefinito

Soglia di lunghezza coda CPU

15

Soglia % CPU

95

Numero di campioni

3

Le sostituzioni possono essere usate per modificare i valori di soglia definiti in precedenza.

Cause

Quando un computer è soggetto a un notevole carico di lavoro per un lungo periodo di tempo, è possibile che la causa derivi da una delle situazioni seguenti:

Soluzioni

Per visualizzare la cronologia recente del contatore delle prestazioni relativo al processore, è possibile utilizzare la seguente vista:

Avvio della vista prestazioni del processore

Per risolvere questo problema, è possibile che l'amministratore effettui le operazioni seguenti:

1. Esaminare il contatore % utilizzo processore per ciascuno dei processi in esecuzione sul server. Questa operazione può essere eseguita tramite Gestione attività o lo snap-in Monitoraggio prestazioni. Determinare quali sono i processi che stanno impegnando la maggior parte delle risorse e monitorarli nel tempo per stabilire se sembrano rientrare in livelli di prestazioni normali. In caso contrario, è necessario eseguire utilità diagnostiche aggiuntive, specifiche per le applicazioni, per determinare il modo più adatto per risolvere il problema.

2. Se è stato stabilito che il carico generato dai client è aumentato nel tempo e il computer non è semplicemente più in grado di soddisfare le richieste, è necessario eseguire alcune procedure aggiuntive di monitoraggio delle prestazioni per stabilire quali aggiornamenti dell'hardware di base possono consentire al computer di tornare a livelli di prestazioni ottimali.

3. Se è stato stabilito che l'applicazione è in condizioni di instabilità, probabilmente causate da difetti nel prodotto, potrebbe essere necessario riavviare l'applicazione. Se il problema persiste, è possibile contattare il produttore dell'applicazione.

Element properties:

TargetMicrosoft.Windows.Server.10.0.OperatingSystem
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.Server.10.0.CPUUtilization.Monitortype
RemotableTrue
AccessibilityPublic
Alert Message
Percentuale utilizzo CPU totale troppo elevata
La soglia per il contatore delle prestazioni Informazioni sul processore\\% Tempo processore\_Totale è stata superata. I valori che hanno superato la soglia sono: {0}\% CPU e lunghezza coda processore {1}.
RunAsDefault

Source Code:

<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>