Pregunta

Estoy tratando de usar tasklist para averiguar qué proceso consume más del X por ciento de mi CPU (para luego eliminarlo con taskkill .)

¿Cómo sé qué porcentaje representa un formato de hora?

La documentación dice:

TASKLIST options

/FI   filter               

Y un filtro puede ser:

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

Si lo intento

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

funciona.

Pero si yo

tasklist /FI "CPUTIME gt 90"

no lo hace.

¿Cómo puedo saber que el formato de hora representa el 90%? ¿O el 80%? ¿Cuál es la relación entre el tiempo de uso de la CPU y el porcentaje de uso de la CPU?

¿Fue útil?

Solución

CPUTime de la lista de tareas es una medida de cuánto tiempo de CPU (ciclos) se ha utilizado desde el inicio del proceso, por lo que convertirlo a un porcentaje sería

 (TotalProcessRuntime / CpuTime) / 100

Al menos, eso es lo que recojo :)

Otros consejos

No parece que haya una manera fácil de hacer esto con la lista de tareas, por lo que sugeriría hacerlo en VBscript u otro lenguaje de scripting, o usar un enfoque diferente. Si está limitado a los archivos por lotes, puede usar el comando WMIC para obtener la lista de procesos en ejecución con su CPUTime respectivo:

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

Tenga en cuenta que esto en mis pruebas mostró que wmipsrv.exe tiene un 100% de CPU, porque se disparó al ejecutar la consulta WMI. Debería tenerlo en cuenta en su script o terminará intentando eliminar el servicio WMI constantemente;)

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top