2008-10-15 6 views
8

Ich versuche tasklist zu verwenden, um herauszufinden, welcher Prozess verbraucht mehr als X Prozent meiner CPU (die später mit taskkill zu töten.)Aufgabenliste CPU% Nutzung

Wie kann ich wissen, wie viel Prozent eine Zeit tut Format repräsentiert?

Die Dokumentationen sagt:

TASKLIST options 

/FI filter    

Und ein Filter sein kann:

CPUTIME   eq, ne, gt, lt, ge, le  CPU time in the format: hh:mm:ss. 
               hh - number of hours, 
               mm - minutes, ss - seconds 

Wenn ich

tasklist /FI "CPUTIME gt 00:00:10" 

es funktioniert versuchen.

Aber wenn ich

tasklist /FI "CPUTIME gt 90" 

nicht.

Wie kann ich wissen, dass das Zeitformat 90% repräsentiert? Oder 80?

Edit:

Zusätzliche Frage: Was ist die Beziehung zwischen CPU Nutzungszeit und die CPU-Auslastung Prozent?

Antwort

-3

Aufgabenliste des CPUTIME ist ein Maß dafür, wie viel CPU-Zeit (Zyklen) seit Beginn des Verfahrens verwendet wurde, so dass auf ein Prozent zu konvertieren, wäre es

(TotalProcessRuntime/CpuTime)/100 

Wenigstens sein, das ist, was Ich sammle :)

+3

Könnten Sie dies näher erläutern? Ich kann die vollständige Liste der Prozesse mit 'CpuTime' mit' tasklist/v' abrufen, aber wie kann ich 'TotalProcessRuntime' bekommen? – tborychowski

14

Es sieht nicht so aus, als gäbe es eine einfache Möglichkeit, dies mit Taskliste zu tun, also würde ich vorschlagen, entweder in VBScript oder einer anderen Skriptsprache oder mit einem anderen Ansatz. Wenn Sie Batch-Dateien beschränkt sind, dann können Sie den WMIC Befehl verwenden, um die Liste der laufenden Prozesse mit ihren jeweiligen CPUTIME zu bekommen:

C:\> wmic path Win32_PerfFormattedData_PerfProc_Process get Name,PercentProcessorTime 

Name     PercentProcessorTime 
Idle     0 
System    0 
Smss     0 
csrss    0 
winlogon    0 
services    0 
lsass    0 

[...] 

wmiprvse    100 
wmic     0 
_Total    100 

Beachten Sie, dass dies in meinem Test zeigte wmipsrv.exe als 100% CPU, weil es während der Ausführung der WMI-Abfrage gespickt wurde. Sie sollten für das in Ihrem Skript-Konto oder Sie werden am Ende versucht, den WMI-Dienst ständig zu töten;

Referenz):
http://waynes-world-it.blogspot.com/2008/09/useful-general-command-line-operations.html
http://technet.microsoft.com/en-us/library/bb742610.aspx

+0

Gibt es eine Möglichkeit, eine von PercentProcessorTime ausgegebene Ausgabe zu erhalten? – laggingreflex

Verwandte Themen