3 votes

Forcer Firefox 14 à libérer de la mémoire lors de l'ouverture/fermeture de nombreuses fenêtres contextuelles

Je suis actuellement en train d'essayer d'exécuter des tests sur une application Web en utilisant Selenium IDE avec Firefox 14. Les tests consistent principalement à charger une page contenant des milliers de liens et à cliquer sur chacun de ces liens. Bien sûr, chaque fois qu'une fenêtre contextuelle s'affiche, je dis à Selenium de la fermer et de continuer avec les liens restants.

Cependant, il semble que même si je ferme les fenêtres contextuelles, Firefox ne libère pas la mémoire. Habituellement, Firefox finit par planter après avoir ouvert 1500 fenêtres contextuelles (environ 2,5 Go d'utilisation de la mémoire).

Y a-t-il un moyen de forcer le navigateur à libérer la mémoire ? Peut-être quelque chose que je devrais définir dans about:config ? Ou y a-t-il un défaut avec Selenium ?

Merci.

0voto

Decent Dabbler Points 131

Bien que ce soit un cas d'utilisation assez extrême, le fait que Firefox plante n'est pas génial.

Utilisez-vous un profil propre c'est-à-dire sans toutes les extensions activées ? Les extensions peuvent réserver de la mémoire et la conserver à chaque chargement de page ; c'est une source courante de fuites. Je crois que Firefox 15 (qui est publié aujourd'hui) a une solution globale pour les extensions qui font cela, il pourrait donc être intéressant de mettre à jour et de voir si le problème persiste. Voici le graphique d'Extremetech sur ce problème :

Graphique d'Extremetech montrant une consommation de mémoire beaucoup meilleure dans Firefox 15.

Alternativement, about:memory a un bouton Minimiser l'utilisation de mémoire qui essaie de libérer la mémoire réservée mais actuellement inutilisée. Serait-il possible de scripter Selenium pour naviguer là-bas et appuyer sur le bouton ?

0voto

Wk_of_Angmar Points 886

Ce problème est dû à la collecte d'ordures de Firefox et il n'y a pas grand-chose que vous puissiez faire à ce sujet. Désactiver JavaScript sur les onglets que vous ouvrez (si possible) pourrait aider car il y aura moins de fuites de mémoire JS. Ces fuites peuvent être particulièrement problématiques avec des modules complémentaires bogués, donc je recommanderais que vous fassiez les tests en mode sans échec (désactiver toutes les extensions) ou utilisez Google Chrome - qui ne souffre pas de fuites de mémoire dans la même mesure que Firefox car il sépare chaque onglet dans un processus séparé, bien qu'il ne semble pas aussi fluide que Firefox lorsqu'il travaille avec un grand nombre d'onglets ouverts.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X