Consumo de CPU

19/12/2006 - 11:41 por José Mª Toro Bermejo | Informe spam
Hola a todos.
¿Como puedo saber el consumo de CPU que tiene un proceso en concreto (al
estilo del administrador de tareas en la columna CPU)?
Gracias

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
19/12/2006 - 11:55 | Informe spam
"José Mª Toro Bermejo" wrote in message
news:%
¿Como puedo saber el consumo de CPU que tiene un proceso en concreto (al
estilo del administrador de tareas en la columna CPU)?



La clase Process tiene una propiedad "TotalProcessorTime" que te dice el
tiempo que el proceso ha estado usando la CPU. Si lo quieres en porcentaje,
puedes dividirlo por el tiempo que el proceso lleva ejecutándose, que puedes
deducir a partir de la propiedad StartTime. Si quieres que el valor se
actualice cada segundo, como hace el administrador de tareas, tendrás que
leer cada segundo el TotalProcessorTime, restarle el valor anterior, y
dividir por 1 segundo para obtener el porcentaje.
Respuesta Responder a este mensaje
#2 José Mª Toro Bermejo
19/12/2006 - 12:48 | Informe spam
"Alberto Poblacion"
escribió en el mensaje news:
"José Mª Toro Bermejo" wrote in message
news:%
¿Como puedo saber el consumo de CPU que tiene un proceso en concreto (al
estilo del administrador de tareas en la columna CPU)?



La clase Process tiene una propiedad "TotalProcessorTime" que te dice
el tiempo que el proceso ha estado usando la CPU. Si lo quieres en
porcentaje, puedes dividirlo por el tiempo que el proceso lleva
ejecutándose, que puedes deducir a partir de la propiedad StartTime. Si
quieres que el valor se actualice cada segundo, como hace el administrador
de tareas, tendrás que leer cada segundo el TotalProcessorTime, restarle
el valor anterior, y dividir por 1 segundo para obtener el porcentaje.




Hola alberto.
Gracias por tu respuesta.
Pero ¿como resto un timespan (TotalProcessorTime) de un datetime
(StartTime)?
Respuesta Responder a este mensaje
#3 Alberto Poblacion
19/12/2006 - 13:25 | Informe spam
"José Mª Toro Bermejo" wrote in message
news:
Pero ¿como resto un timespan (TotalProcessorTime) de un datetime
(StartTime)?



No, no hay que restar. Para obtener el % de uso de CPU lo que se necesita
DIVIDIR el tiempo total contenido dentro de un TimeSpan por el tiempo total
contenido dentro de otro TimeSpan. El primer TimeSpan es el
TotalProcessorTime y el segundo TimeSpan es el tiempo total que lleva
ejecutandose el proceso, que se obtiene de restar de un DateTime
(DateTime.Now) otro DateTime (StartTime). Y sí, se pueden restar dos
datetimes y el resultado es un timespan.
Para sacar de un TimeSpan el tiempo total y poder hacer la división, te
recomiendo usar la propiedad Ticks, que da en forma numérica una medida del
tiempo total.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida