Ce n’est un secret pour personne que Firefox peut consommer pas mal de mémoire système lors d’une utilisation normale. Bien que le nombre d’onglets que vous avez ouverts et les modules complémentaires installés contribuent certainement, même une installation prête à l’emploi de manière conservatrice peut rapporter une utilisation de la mémoire assez importante.
Cela a provoqué l’apparition de quelques modules complémentaires Firefox qui prétendent libérer de la mémoire dont le navigateur n’a plus besoin, mais fonctionnent-ils réellement?
Un aperçu de deux minutes sur la façon dont Windows gère la mémoire
Avant de plonger dans l’examen d’un nettoyeur de mémoire, il est important de comprendre un peu la façon dont Windows gère la mémoire. Ce sera important pour que nous puissions interpréter les résultats de notre expérience.
Ne vous inquiétez pas, nous couvrirons cela à un niveau très élevé afin que vous n’ayez pas à être un méga-geek pour suivre.
Windows est suffisamment intelligent pour savoir que la mémoire physique inutilisée est de la mémoire gaspillée, il charge donc tout ce dont il a besoin et pense qu’il en aura besoin dans la mémoire. Cependant, seul ce dont votre système a réellement besoin (Windows et applications) et qu’il utilise activement à l’heure actuelle est signalé comme mémoire physique utilisée. Le reste (ce dont Windows pense avoir besoin) réside dans ce qu’on appelle la mémoire virtuelle.
La mémoire virtuelle est essentiellement les données qui ne sont pas activement requises par le système d’exploitation, mais qui sont prêtes à être chargées dans la mémoire active à tout moment. Vous pouvez calculer très grossièrement la quantité de mémoire virtuelle de votre système à tout moment en utilisant cette formule:
Mémoire virtuelle = (mémoire physique totale – mémoire physique utilisée / active) + taille maximale du fichier de page système
Supposons donc que vous ayez un système avec 4 Go de mémoire physique et un fichier d’échange de 6 Go maximum. Vous démarrez ensuite Windows et ouvrez quelques applications (Outlook, Firefox, etc.) et Windows signale que 2,5 Go de mémoire physique sont utilisés. Cela signifie que vous disposez de 1,5 Go de mémoire physique «inutilisée» et d’un fichier d’échange de 6 Go pour un total de 7,5 Go de mémoire virtuelle disponible.
N’oubliez pas que le système d’exploitation est suffisamment intelligent pour savoir que la mémoire physique inutilisée est de la mémoire gaspillée, de sorte qu’il remplira les 1,5 restants de mémoire physique avec ce dont il prévoit que vous aurez besoin afin de pouvoir y accéder presque instantanément à la demande. Cela peut être n’importe quoi, des données de programme en arrière-plan minimisées aux fonctions courantes du système d’exploitation.
Alors, que se passe-t-il lorsque Windows manque de mémoire physique pour l’utiliser comme mémoire virtuelle? Il écrit ces données dans le fichier de page système qui est un fichier énorme (dans notre cas 6 Go) sur votre disque dur. Bien que cela permette au système d’exploitation de stocker à peu près toutes les données dont il a besoin en mémoire, l’écriture et la récupération (c’est-à-dire une erreur de page) ces informations vers / depuis le disque dur sont des ordres de grandeur plus lentes que d’y accéder à partir de la mémoire physique. C’est pourquoi plus vous avez de mémoire physique, plus votre système peut fonctionner rapidement. Moins votre système utilise son fichier d’échange, plus il fonctionnera rapidement.
Surveillance de l’utilisation de la mémoire de Firefox
Pour notre enquête, nous utiliserons simplement le Gestionnaire des tâches de Windows. Nous suivrons les colonnes suivantes (les descriptions sont définies sur la page de Microsoft):
- Jeu de travail = Quantité de mémoire dans le jeu de travail privé plus la quantité de mémoire utilisée par le processus qui peut être partagée par d’autres processus.
- Peak Working Set = Quantité maximale de mémoire de travail utilisée par le processus.
- Mémoire (jeu de travail privé) = sous-ensemble de jeu de travail qui décrit spécifiquement la quantité de mémoire utilisée par un processus qui ne peut pas être partagée par d’autres processus.
- Commit Size = Quantité de mémoire virtuelle réservée à l’utilisation par un processus.
Nous utiliserons une installation prête à l’emploi de Firefox 4.0.1 avec uniquement le module complémentaire Memory Fox chargé. Dans Firefox, nous aurons les onglets suivants ouverts et ne ferons rien d’autre que de faire défiler les pages chargées.
Après avoir attendu quelques instants pour que tout se termine, le Gestionnaire des tâches de Windows signale ce qui suit pour Firefox.
Maintenant, lorsque nous démarrons le module complémentaire Memory Fox, regardez la baisse spectaculaire de la quantité de mémoire utilisée.
Notez également qu’un nouveau processus est démarré par ce module complémentaire qui gère les fonctions de mémoire.
En laissant Firefox inactif et en regardant les valeurs de Working Set et Memory, vous pouvez voir qu’il y a une lutte constante entre Firefox qui a besoin de mémoire physique active et le module complémentaire de nettoyage de mémoire qui récupère cette mémoire.
Voici l’utilisation de la mémoire rapportée toutes les quelques secondes pendant que Firefox est inactif.
Notez la baisse des valeurs du Working Set et de la mémoire. C’est le nettoyeur de mémoire qui récupère la mémoire système.
Après avoir monté un peu, vous pouvez voir une autre goutte.
Mousse. Rincer. Répéter.
De plus, si vous ne faites que changer d’onglet et faire défiler les pages chargées, vous pouvez voir les nombres fluctuer un peu plus radicalement, ce qui sera expliqué ci-dessous.
Interpréter les résultats
Quand vous le regardez pour la première fois, vous pensez que cela fonctionne très bien. Mais jetez un œil à la colonne Commit Size et vous pouvez voir que cette valeur ne change jamais vraiment. En fait, cela augmente une fois que vous démarrez le module complémentaire de nettoyage de la mémoire.
N’oubliez pas que la colonne Taille de validation indique la quantité réelle de mémoire (physique + virtuelle) dont Windows a besoin pour exécuter l’application correspondante. Ainsi, dans notre exemple, les ~ 120 Mo sont réservés et actifs sur le système spécifiquement pour Firefox et résident dans la mémoire physique inutilisée et / ou le fichier d’échange du système. Rappelez-vous également que si le fichier d’échange doit être utilisé, il y a un impact notable sur les performances car la mémoire virtuelle doit être écrite et lue sur le disque dur qui est nettement plus lent que la mémoire physique.
Donc, essentiellement, le nettoyeur de mémoire déplace la mémoire physique active vers la mémoire virtuelle (car la mémoire est récupérée doit aller quelque part). Lorsque cela se produit, Firefox n’a plus la mémoire dont il a besoin pour fonctionner activement et doit donc demander à Windows de déplacer les données respectives dont il a besoin de la mémoire virtuelle vers la mémoire physique. Et nous tournons en rond…
Au mieux, ce processus ne fait rien d’utile du tout et au pire, il provoque une quantité massive de défauts de page inutiles car, encore une fois, si Windows doit mettre le fichier d’échange en jeu, il y aura un impact notable sur les performances. Cela peut être particulièrement le cas sur les systèmes qui n’ont pas beaucoup de mémoire physique (où presque toute la mémoire virtuelle est conservée dans un fichier d’échange), ce qui est ironique car ce sont les systèmes pour lesquels un nettoyeur de mémoire a été «conçu».
La morale de toute cette histoire est tout simplement, les nettoyeurs de mémoire ne font que changer les chiffres. N’importe quel système d’exploitation saura comment gérer la mémoire de manière appropriée, alors laissez-les faire leur travail.
Gérer l’utilisation de la mémoire de Firefox
Puisque nous avons montré que les modules complémentaires de nettoyage de mémoire ne font rien d’utile, que pouvez-vous faire face à la grande quantité de mémoire utilisée par Firefox? Voici quelques suggestions:
- Supprimez les modules complémentaires dont vous n’avez pas besoin (en particulier ceux qui nettoient la mémoire).
- Gardez le nombre d’onglets que vous avez ouverts au minimum.
- Fermez régulièrement Firefox et relancez-le.
- Ajoutez plus de mémoire à votre système.
- Ne t’inquiète pas.