So konvertieren Sie eine Jobliste, die CPU-Zeit, CPU % Auslastung?
Ich versuche zu verwenden tasklist
um herauszufinden, welcher Prozess verbraucht mehr als X Prozent meiner CPU (um Sie später zu töten, es mit taskkill
.)
Wie kann ich wissen, was Prozent ein Zeit-format darstellt?
Den Dokumentationen sagt:
TASKLIST options
/FI filter
Sowie ein filter sein können:
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 versuche
tasklist /FI "CPUTIME gt 00:00:10"
es funktioniert.
Aber wenn ich
tasklist /FI "CPUTIME gt 90"
nicht.
Wie kann ich wissen, dass die Zeit-format sind zu 90%? Oder 80%? Was ist das Verhältnis zwischen CPU-Auslastung, Zeit und die CPU-Auslastung Prozent?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tasklist ist CPUTime ist ein Maß dafür, wie viel CPU-Zeit (Zyklen) wurden seit dem start des Prozesses, so zu konvertieren, dass zu einem Prozent, wäre es
Mindestens, das ist, was ich sammeln 🙂
CpuTime
mittasklist /v
aber wie bekomme ichTotalProcessRuntime
?Sieht es nicht aus, gibt es eine einfache Möglichkeit, dies zu tun mit tasklist, so würde ich vorschlagen, entweder dies zu tun, in VBscript oder einer anderen scripting-Sprache, oder mit einem anderen Ansatz. Wenn Sie eingeschränkt, um batch-Dateien, dann könnten Sie die WMIC Befehl aus, um die Liste der Laufenden Prozesse mit Ihren jeweiligen CPUTime:
Beachten Sie, dass dies in meinen Tests zeigte wmipsrv.exe als 100% CPU, da es Spike beim ausführen der WMI-Abfrage. Sie sollten berücksichtigen das in Ihrem Skript, oder Sie werden versuchen, am Ende töten Sie den WMI-Dienst ständig 😉
Referenz:
http://waynes-world-it.blogspot.com/2008/09/useful-general-command-line-operations.html
http://technet.microsoft.com/en-us/library/bb742610.aspx
wmic path Win32_PerfFormattedData_PerfProc_Process where "PercentProcessorTime > 1" get PercentProcessorTime, Name | sort /+20