Plus un CPU a de coeurs, plus Windows ralentit, selon un employé de Google

La ligne rouge entre 3,8 s et 5,5 s représente la destruction des process par un coeurLa ligne rouge entre 3,8 s et 5,5 s représente la destruction des process par un coeurBruce Dawson, un programmeur pour Google, a découvert un défaut important qui plombe grandement les performances de Windows 10. Le mécanisme de destruction des process est curieusement limité à un seul coeur, ce qui peut bloquer complètement la machine et ralentir énormément le système d’exploitation, au point de nécessiter un redémarrage assez souvent.

Retour au single thread

Le problème s'est manifesté sur une build de Chrome en cours de développement. Le programme a tendance à créer beaucoup de process, et plus le processeur a de coeurs et plus le logiciel en crée. Cette opération est logiquement répartie sur plusieurs threads pour optimiser les performances. Or, jusqu’à Windows 7 inclut, la destruction de ces process étaient aussi réparti sur plusieurs coeurs logiques. Le problème enregistré aujourd’hui est nouveau, et aggravé par le nombre de coeurs du CPU ainsi que le comportement de certains logiciels.

Le grand public ne devrait pas vraiment être touché par ce problème. Le risque qu’une application non-professionnelle ou un jeu crée suffisamment de process pour bloquer le système est relativement faible. Microsoft a tout de même déclaré s’être penché sur la question.

Posez une question dans la catégorie Les news : vos réactions du forum
Cette page n'accepte plus de commentaires
7 commentaires
    Votre commentaire
  • JonDol
    Ah bon ? C'est trop facile de dire toujours que c'est la faute des autres. Je pense que Google fera mieux de regarder d'abord pourquoi avec un seul onglet d'ouvert Chrome utilise 2 GB de RAM sur un ensemble de 15-16 processus et presque 100% CPU. J'ai du arrêter violement deux fois la semaine dernière mon PC sous Windows 8.1 a cause de ca, avec les deux dernières versions de Chrome...
    0
  • tranche
    Anonymous a dit :
    Ah bon ? C'est trop facile de dire toujours que c'est la faute des autres. Je pense que Google fera mieux de regarder d'abord pourquoi avec un seul onglet d'ouvert Chrome utilise 2 GB de RAM sur un ensemble de 15-16 processus et presque 100% CPU. J'ai du arrêter violement deux fois la semaine dernière mon PC sous Windows 8.1 a cause de ca, avec les deux dernières versions de Chrome...


    Attention ce que le dévellopeur de google a trouvé se produit lors de la build de Chrome = lors de la construction de Chrome à partir des sources; et non pas lors de l’exécution de Chrome.
    Je ne dis pas que Chrome ne consomme pas énormément de Ram (je ne sais pas je l'utilise pas), mais ce n'est pas ça qui est relevé ici.
    Ici il a été trouvé que lorsque plein de thread sont crées sur un grand nombre de cœur il ne sont pas bien voir jamais détruit. C'est le logiciel de build ninja qui est responsable de ça, pas Chrome. Enfin le responsable là c'est Windows, mais ce n'est pas très grave, ça touchera quasiment personnes car il faut avoir un CPU avec plein de cœur et un logiciel qui les utilise avec plein de thread, l'utilisateur moyen a peu de chance de faire ça ... et ça fait longtemps que plus personne dans le Top500 ne tourne sur Windows donc c'est bon : les ingénieur de MS peuvent partir en vacances avant de corriger ça :) .
    0
  • axenn
    Mais qui a créé ce langage ? Sur quoi il repose ? Y'a t'il un garbage collector ? comment communiquent les threads ? Je suis désolé mais je vois mal le rapport avec l'os. C'est pas et 'na jamais été l'OS qui décide de tuer des threads, à moins d'un problème et encore heureux ! En prime je ne sais pas si ça vient du communiquant de google, mais il y a un amalgame foireux entre thread et process. Ce sont deux mécanismes assez similaires mais différents sur les langages les plus récents.

    Alors je ne suis pas fan du garbage collector sur c#, l'équivalent python etc, mais faut rendre à césar ce qui est à césar. En outre sans avoir un controle direct, on peut quand même marquer comme disposable des process comme des variables.

    Chrome était très bien au début mais il est devenu un gouffre à ressources. Firefox peut aussi très mal gérer certaines page web mal fichues, qui en jettent esthétiquement mais qui doivent tourner sur des boucles infinies ou des variables à effet boule de neige. Sur un site de jeu vidéo FR, si je reste sur la page sans rien faire, je bouffe rapidement plus de 2Go de mémoire... Ce qui n'est pas normal. Ils devraient d'urgence se pencher sur leurs navigateurs, dont mettre en pause tout onglet qui pompe trop. Et ce n'est pas windows le responsable.

    En outre Tranche, sans vouloir te manquer de respect ce que tu dis est faux, tu dis que le développeur a trouvé cela sur les sources. Non. Il a remarqué ce phénomène en lançant son code. En outre des processeurs avec plein de coeurs tu vas en voir de plus en plus et windows 10 est prévu pour supporter cela justement. Ca concerne justement tout le monde, c'est pas sur un serveur qu'il s'amuse à lancer ses builds.
    2