Windows 7 : une fuite mémoire sur la version finale ? (MAJ)

Un coup oui, un coup non 195
Mise à jour : Microsoft vient de nous confirmer qu'il s'agissait bien de Steven Sinofsky sur le blog de Chris123. L'explication du problème serait donc réellement dûe à un problème de pilote de chipset.



Un cas de bug assez étrange a été rapporté au sujet de la version finale de Windows 7, alias la build 7600. Ce bug n’a encore reçu aucune communication officielle de Microsoft mais il fait nettement parler de lui, car il provoque une hausse extraordinaire de la consommation de mémoire vive, et qu’il concerne évidemment la version finale du système.

De quoi s’agit-il exactement ? Le « bug » est perçu comme une fuite de mémoire, c’est-à-dire une expansion incontrôlée de sa consommation suite à un problème technique. Dans le cas qui nous intéresse, il intervient lors de l’utilisation de la commande « chkdsk », autrement le Check Disk de Windows. La commande par défaut s’exécute normalement, mais le commutateur « /r », qui demande la vérification physique du disque à la recherche des secteurs défectueux, provoque la fuite.

Nous avons ainsi reproduit la fuite :

win7 fuite memoire

La situation serait simple si le problème pouvait être reproduit sur toutes les machines, mais ce n’est pas le cas. Et l’ensemble est devenu plus complexe depuis que des communications non confirmées ont eu lieu avec Steven Sinofsky à ce sujet, l’homme qui était aux commandes du développement de Windows 7.

Sur ce blog, on peut ainsi voir dans les commentaires du billet un message posté par un « Steven Sinofsky ». Il y explique que la fuite mémoire vient d’un problème de pilote du chipset de la carte mère. Dans notre cas, le problème était visible sur une carte mère équipée du chipset P45 d’Intel. Mais selon de longues séries de témoignages, d’autres chipsets Intel ne semblent pas concernés. Et la situation est floue avec des chipsets AMD/ATI et NVIDIA, certains ayant reproduit le bug, d’autres pas.

Dans certains cas, le changement du pilote pour sa version la plus récente semble avoir corrigé le tir. Sur la même machine, et après avoir installé le dernier pilote Intel, le bug était toujours présent. En fait, l’histoire est très floue, à cause de certains critères qui ne cadrent pas tout à fait avec une « fuite ». Ainsi, dans notre cas :
  • Seule la mémoire vive est consommée, Windows n’affecte pas de mémoire virtuelle au processus
  • Le processus n’est pas détecté comme problématique et stoppé par Windows
  • La machine continue à fonctionner normalement, sans ralentissements tant que l’on ne lance pas un autre logiciel
La consommation de mémoire semble se faire en fonction des applications ouvertes. Ainsi, après avoir redémarré notre machine suite à l’installation du pilote Intel, le nombre de processus actifs était réduit et la consommation en mémoire était donc plus faible. Le processus chkdsk occupait donc 300 Mo supplémentaires. À noter que selon certains témoignages toujours, des utilisateurs rencontraient des écrans bleus.

S’agit d’un vrai bug de Windows ? D’un problème lié à un pilote spécifique ? Ou bien encore d’un comportement « normal » du processus ? Nous attendons toujours une réponse officielle de Microsoft sur ce sujet.