2009-09-01 5 views
2

Étant donné un ID de processus, comment puis-je obtenir la charge du processeur à partir de ce processus avec C#?Calculer l'utilisation du processeur pour un processus Windows?

I ont essayé d'utiliser PerformanceCounter comme décrit dans c# calculate CPU usage for a specific application

I ont également essayé de prendre manuellement les deux valeurs du temps de calcul total pour le processus dans un délai et diviser le delta-cpu-temps avec la delta-totale -temps.

Ces deux méthodes semblent bien fonctionner au début, mais si je mets mon application à côté du gestionnaire de tâches Windows, mon application affiche toujours environ deux fois plus que le gestionnaire de tâches. J'ai essayé de mettre à jour avec divers timesteps de 10ms à 10sec et obtiens le même résultat tout le temps.

Hmm, réalisé quand j'écrit ce qu'il pourrait être une sorte de problème dual core ...

Répondre

3

Si vous avez deux noyaux, le gestionnaire de tâches va signaler l'utilisation de 100% de 1 CPU 50% . C'est probablement votre problème ici.

Questions connexes