Le Moniteur d'activité des Mac M1 induit en erreur sur l'impact énergétique des apps macOS
- Julien Russo
- Il y a 3 ans
- 💬 Réagir
- 🔈 Écouter
Si vous êtes un utilisateur régulier de Mac, vous avez probablement déjà été confronté à une surchauffe de l'ordinateur. Dans ce genre de situation, on essaie de comprendre quelle application macOS provoque cette hausse de température. Pour cela, il y a le Moniteur d'activé, un programme qui permet de voir quelle est l’app un peu trop gourmande en matière d'énergie et de performance.
Les données de l'impact d'énergie ne sont pas bonnes sur les Mac M1
Selon un récent rapport de The Electric Light Company, certaines données que met en avant le Moniteur d'activité sur les Mac qui possèdent la puce M1 sont complètement erronées.
Le média a remarqué que cette tendance à se tromper est répétitive à propos de l'impact d'énergie, les Mac sont incapables de donner à l'exactitude la consommation énergétique d'une application qui est en cours de fonctionnement, chose qu'est capable de faire sans problème un Mac avec le processeur Intel.
Selon le rapport, cela a une conséquence directe sur le développement des applications, car les développeurs utilisent énormément le Moniteur d'activité pour éviter d'avoir un effet indésirable sur la consommation d'énergie des MacBook de leurs utilisateurs :
Moniteur d'activité, actuellement dans la version 10.14 de macOS 12.3.1, ne fait pas la différence entre les processeurs dotés de cœurs identiques fonctionnant à une fréquence fixe et les puces M1 d'Apple, avec deux types de cœurs différents et des fréquences variables pour chaque groupe de cœurs. Étant donné que cela fait maintenant près de 18 mois qu'Apple a commencé à livrer ses premiers Macs M1, vous pourriez trouver cela un peu surprenant. Il est encore plus grave que les erreurs de Activity Monitor découragent les développeurs de faire un meilleur usage des cœurs des puces M1.
Pour communiquer avec une telle certitude, The Electric Light Company a réalisé plusieurs tests très précis avec le soutien de l'application AsmAttic, ils expliquent d'ailleurs comment réaliser les mêmes tests :
Avec une application comme AsmAttic, exécutez un seul thread avec une QoS minimale pour qu'il ne fonctionne que sur les cœurs E. Puis répétez l'opération avec deux threads imposant une QoS minimale. Puis répétez l'opération avec deux threads imposant la même charge de calcul. Voici mes résultats :
1 thread sur 2 cœurs E a pris 19,5 s, à 98% de CPU et une valeur énergétique de 99.
2 threads sur 2 cœurs E ont pris 10,0 s, à 194% de CPU et une valeur énergétique de 194.
Le thread unique a une énergie totale de 1931 unités.s, à 1931 par thread. L'exécution de deux threads a une énergie totale de 1940, à 970 par thread. Ainsi, l'exécution de deux fois la quantité de code sur les seuls cœurs E prend la même quantité d'énergie, selon Activity Monitor. C'est manifestement faux.
Pour découvrir comment Activity Monitor arrive à ces résultats erronés, vous devez exécuter l'outil de commande powermetrics pour découvrir les fréquences auxquelles les deux cœurs E tournaient, et leur consommation d'énergie réelle. Bien que cela soit compliqué, l'effort en vaut la peine : avec un seul thread, les cœurs E fonctionnent à une fréquence d'environ 972 MHz, mais avec deux threads, cette fréquence augmente jusqu'à leur maximum de 2064 MHz. Activity Monitor n'en tient pas compte et ne corrige pas ses valeurs CPU pour tenir compte des changements de fréquence.
Pour le moment, Apple n'a pas encore réagi à cette découverte qui a probablement déjà eu des conséquences dans le développement de nombreuses applications macOS optimisées pour les Mac M1.