Qu'est-ce qui pourrait faire baisser la fréquence maximale du processeur à 0% pendant plusieurs secondes?

2

Je teste une application .NET dotée de fonctionnalités d'interface graphique avancées. Une action spécifique prend beaucoup de temps, jusqu'à 5 secondes. En regardant le Moniteur de ressources Windows standard, j'ai remarqué que ce délai coïncidait avec un creux important allant jusqu'à 0% dans le graphique "Fréquence maximale" du moniteur - voir la ligne bleue dans l'image ci-dessous.

CPU usage graph in Resource Monitor

Basé sur la réponse à Que signifie le nombre "Fréquence maximale" dans le moniteur de ressources Windows? , et quelques autres informations sur le Web, ma conclusion est que ce plongeon est la cause du retard, parce que le processeur est essentiellement indisponible pendant environ trois secondes. Est-ce la bonne conclusion? Si oui, qu'est-ce qui pourrait causer cette chute?

Quelques informations sur ma configuration: il s’agit d’une machine exécutant Windows Embedded 7 Standard, exécutée sur un ordinateur. Intel Atom E680T processeur. Toutes les options d'économie d'énergie sont définies pour des performances maximales. Le même test ne montre pas cet effet sur les autres machines que j'ai essayées. Ceux-ci ont cependant des processeurs plus puissants.

Reinier Torenbeek
la source
2
Vous avez presque certainement la cause et l'effet à l'envers. Le processeur est en train de dormir, car il ne peut effectuer aucun travail.
David Schwartz
@DavidSchwartz Il se trouve que mon application s'exécutait à la priorité temps réel et que le moniteur de ressources avait la priorité normale. Par conséquent, le moniteur de ressources est planifié pour une période donnée et n'est pas capable d'afficher les valeurs correctes pour Fréquence maximale. Est-ce que cela ressemble à ce que vous décrivez dans votre commentaire?
Reinier Torenbeek
Non, ce n'était pas ce que je pensais du tout. Mais c'est en fait assez drôle.
David Schwartz

Réponses:

2

La réponse à ma question est la suivante: la fréquence maximale ne baisse pas, même si le moniteur de ressources l'indique.

Mon processus s'exécutait à priorité temps réel, alors que le Moniteur de ressources fonctionnait à priorité normale. Dès que mon processus était vraiment occupé, le moniteur de ressources ne disposait pas des cycles de processeur nécessaires pour mesurer les valeurs qu'il surveillait. En conséquence, il affiche à tort des valeurs nulles.

Une chose qui me surprend en particulier est le fait que le Interface graphique du moniteur de ressources se mettait à jour avec joie, le graphique a été déplacé vers la gauche sans irrégularité notable. La cause aurait été beaucoup plus facile à identifier si l'interface graphique aurait également été bloquée.

Désolé de répondre à ma propre question - je ne suis pas sûr que ce soit une bonne chose à faire. Je ne veux pas non plus que d'autres personnes passent leur temps là-dessus en vain.

Reinier Torenbeek
la source