Question

Le Gestionnaire des tâches Windows affiche l'utilisation du processeur en pourcentage. Quelle est la formule derrière cela? Est-ce ceci:

  

% d'utilisation du processeur pour le processus A = (somme de   toutes les tranches de temps données à A jusqu'à maintenant) /   Temps total écoulé depuis le démarrage de la machine

Ou est-ce autre chose?

Était-ce utile?

La solution

Je ne suis pas sûr à 100% de ce qui est utilisé, mais je pense que vous êtes un peu en retrait du calcul de la CPU.

Je crois qu'ils font quelque chose comme.

Process A CPU Usage = (Cycles for A over last X seconds)/(Total cycles for last X seconds)

Je pense que cela est lié au " intervalle de mise à jour " défini dans le gestionnaire de tâches.

Tout en faisant quelques recherches pour vous, j’ai trouvé Cet article MSDN présente une méthode recommandée par Microsoft pour calculer le temps CPU d’un ensemble d’instructions. Cela pourrait également vous orienter un peu plus vers leur calcul.

Autres conseils

Non, ce n'est pas "depuis le démarrage". - il est beaucoup plus sensible au temps que cela.

Il s'agit de la "proportion de temps pendant laquelle une CPU exécutait activement un thread dans ce processus depuis la dernière actualisation". (Où le taux de rafraîchissement est généralement d'environ une seconde.) Dans le gestionnaire de tâches, je crois qu'il est ensuite divisé par le nombre de processeurs. comme 50%). D'autres programmes similaires ne le font parfois pas, donnant un total de 100% * cœurs.

Vous pouvez également vouloir vérifier cet article comme la façon dont les cycles du processeur sont gérés en ce qui concerne la planification a été modifiée dans le cadre de Vista. Je présume que cela s'applique également à Win7.

Voir le code source de Task Manager

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top