2008-10-15 16 views
8

J'essaie d'utiliser tasklist pour savoir quel processus consomme plus de X pour cent de mon CPU (pour tuer plus tard avec taskkill.)CPU Tasklist% l'utilisation

Comment puis-je savoir ce que fait un pour cent du temps le format représente?

Les dit Documentations:

TASKLIST options 

/FI filter    

Et un filtre peut être:

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

Si je tente

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

cela fonctionne.

Mais si je

tasklist /FI "CPUTIME gt 90" 

il ne fonctionne pas.

Comment puis-je savoir que le format d'heure représente 90%? Ou 80?

Edit:

question supplémentaire: Quelle est la relation entre le temps d'utilisation du processeur et le pour cent de l'utilisation du processeur?

Répondre

-3

CPUTime de la liste des tâches est une mesure de combien de temps CPU (cycles) ont été utilisés depuis le début du processus, afin de le convertir en un pour cent, il serait

(TotalProcessRuntime/CpuTime)/100 

Au moins, c'est ce qui Je comprends :)

+3

Pouvez-vous préciser à ce sujet? Je peux obtenir la liste complète des processus avec 'CpuTime' en utilisant' tasklist/v' mais comment puis-je obtenir 'TotalProcessRuntime'? – tborychowski

14

Il ne semble pas y avoir un moyen facile de le faire avec la liste des tâches, donc je suggère soit de le faire en VBScript ou un autre langage de script, ou en utilisant une approche différente. Si vous êtes contraint à des fichiers de traitement par lots, vous pouvez utiliser la commande WMIC pour obtenir la liste des processus en cours avec leur CPUTime respective:

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 

Notez que dans mon test a montré wmipsrv.exe comme ayant 100% du CPU, parce qu'il a dopé lors de l'exécution de la requête WMI. Vous devez expliquer que, dans votre script ou vous allez finir par essayer de tuer le service WMI en permanence;)

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

+0

Existe-t-il un moyen d'obtenir une sortie triée par PercentProcessorTime? – laggingreflex