it-swarm.com.de

Holen Sie sich die CPU-Auslastung von der Windows-Eingabeaufforderung

Wie kann ich die gesamte CPU-Auslastung von der Windows-Eingabeaufforderung abrufen ?:

Erwartete Ausgabe:

27%
40
Mike
C:\> wmic cpu get loadpercentage
LoadPercentage
0

Oder

C:\> @for /f "skip=1" %p in ('wmic cpu get loadpercentage') do @echo %p%
4%
78
Alex K.

Das folgende funktioniert ordnungsgemäß unter Windows 7 Ultimate von einer Eingabeaufforderung mit erhöhtem Befehl:

C:\Windows\system32>typeperf "\Processor(_Total)\% Processor Time"

"(PDH-CSV 4.0)","\\vm\Processor(_Total)\% Processor Time"
"02/01/2012 14:10:59.361","0.648721"
"02/01/2012 14:11:00.362","2.986384"
"02/01/2012 14:11:01.364","0.000000"
"02/01/2012 14:11:02.366","0.000000"
"02/01/2012 14:11:03.367","1.038332"

The command completed successfully.

C:\Windows\system32>

Oder für einen Schnappschuss:

C:\Windows\system32>wmic cpu get loadpercentage
LoadPercentage
8
11
mdm
typeperf "\processor(_total)\% processor time"

funktioniert unter Win7, Sie müssen nur den Prozentwert selbst aus der letzten Zeichenfolge in Anführungszeichen extrahieren.

8
PowerApp101

typeperf gibt mir Probleme, wenn es auf einigen Computern zufällig nicht funktioniert (Error: No valid counters.) oder wenn das Konto nicht über ausreichende Rechte verfügt. Ansonsten können Sie nur den Wert aus der Ausgabe extrahieren. Es muss jedoch noch gerundet werden:

@for /f "delims=, tokens=2" %p in ('typeperf "\Processor(_Total)\% Processor Time" -sc 3 ^| find ":"') do @echo %~p%

Powershell verfügt über zwei Cmdlets, um die prozentuale Auslastung aller CPUs zu ermitteln: Get-Counter (bevorzugt) oder Get-WmiObject

Powershell "Get-Counter '\Processor(*)\% Processor Time' | Select -Expand Countersamples | Select InstanceName, CookedValue"

Oder,

Powershell "Get-WmiObject Win32_PerfFormattedData_PerfOS_Processor | Select Name, PercentProcessorTime"


So erhalten Sie die gesamte CPU-Last mit formatierter Ausgabe genau wie die Frage:

Powershell "[string][int](Get-Counter '\Processor(*)\% Processor Time').Countersamples[0].CookedValue + '%'"

Oder,

 Powershell "gwmi Win32_PerfFormattedData_PerfOS_Processor | Select -First 1 | %{'{0}%' -f $_.PercentProcessorTime}"
1
Amit Naidu