Dave Plummer, ancien ingénieur Microsoft et développeur du gestionnaire de tâches Windows original, a révélé en ligne que l'utilisation du processeur affichée par le gestionnaire de tâches Windows n'est pas une donnée en temps réel, mais une moyenne périodique actualisée régulièrement.Plummer a été impliqué dans des projets emblématiques tels que la prise en charge des fichiers ZIP de Windows et le menu Démarrer de Windows NT, et il a personnellement construit la première version du Gestionnaire des tâches.
Afin de garantir que l'outil ne gaspille pas les ressources du système, il a conçu cet outil pour qu'il soit extrêmement simple du point de vue de la programmation et de l'ingénierie afin qu'il puisse fonctionner sans problème sur les ordinateurs des années 1990. Mais c’est cette conception minimaliste qui jette les bases de valeurs numériques inexactes.
Plummer a déclaré que l'actualisation du gestionnaire de tâches est pilotée par une minuterie et capture les données à intervalles réguliers. Il montre les statistiques du CPU entre deux rafraîchissements, et non la charge en temps réel.
Si vous divisez simplement le temps d'utilisation du processeur par l'intervalle de rafraîchissement, le résultat dépendra fortement de la précision du minuteur de l'interface graphique.
Il a fait une analogie : c'est comme mettre un métronome à l'arrière d'une camionnette et conduire sur un chemin de terre défoncé. Il est fondamentalement impossible de le maintenir absolument stable.
Il a donc adopté un algorithme plus rigoureux : laisser le gestionnaire de tâches enregistrer le temps d'exécution total de chaque processus depuis le démarrage (temps noyau + temps utilisateur), soustraire la valeur totale du dernier rafraîchissement de la valeur actuelle pour obtenir la consommation CPU du processus pendant l'intervalle, puis la diviser par la consommation totale CPU de tous les processus pendant cette période.
Cette méthode semble très compliquée, mais elle est beaucoup plus précise que la division directe.
Cependant, l’évolution de la technologie rend cet algorithme inadapté. Les processeurs modernes prennent en charge la modulation de fréquence dynamique, l'accélération turbo, la réduction de fréquence de contrôle de température et la veille profonde, qui dissocient l'utilisation du temps CPU de la charge de travail réelle effectuée. Un seul pourcentage ne peut pas refléter pleinement l'état de fonctionnement du processeur.
Plummer a souligné que le temps d'utilisation du processeur était autrefois un bon reflet de la charge de travail, mais que la corrélation entre les deux est désormais très lâche. Il estime que l'utilisation idéale du processeur devrait mesurer le rapport entre la quantité de travail réelle effectuée et la quantité de travail maximale théorique pouvant être effectuée, mais il a pris sa retraite de Microsoft et ne peut pas promouvoir de changements.
