URL: https://linuxfr.org/forums/general-general/posts/firefox-mange-des-bebes-ssd Title: Firefox mange des bébés SSD Authors: cfx Date: 2016年09月24日T15:52:39+02:00 License: CC By-SA Tags: ssd, google, sessionstore et firefox Score: 9 Hier, je suis par hasard tombé sur [cet article](https://www.servethehome.com/firefox-is-eating-your-ssd-here-is-how-to-fix-it/) (en anglais) qui explique que Firefox écrit énormément sur votre disque dur. Pour ma part, plusieurs Go par jours. Pour résumer, l'un des composants de Firefox est le _SessionStore_, qui a pour rôle de stocker l'état courant de votre navigateur, afin de pouvoir retrouver votre session après une fermeture de Firefox (qu'elle qu'en soit la cause : fermeture normale, crash ou bien mise à jour). Cela comprend bien entendu la liste de vos fenêtres et des onglets qu'elles contiennent, mais aussi l'historique de chacun de vos onglets (les 10 dernières pages visitées [1]) ainsi que le _[Storage](https://developer.mozilla.org/fr/docs/Web/API/Window/sessionStorage)_ et les cookies de la session de l'onglet. Et pour permettre la récupération d'un onglet malencontreusement fermé, la liste des fenêtres et onglets fermés (ainsi que leur historique et leur session) de ces 14 derniers jours [2]. Tout ça est sauvegardé intégralement (au format JSON) dès qu'il se passe quelque-chose dans votre navigateur (limité à une fois toute les 15s [3]) : chargement de page, ouverture/fermeture d'onglet, écriture dans la session d'un onglet, ou même un simple scroll dans une page ! D'après des [données de télémétrie](https://telemetry.mozilla.org/new-pipeline/dist.html#!cumulative=0&end_date=2016年08月23日&keys=__none__!__none__!__none__&max_channel_version=release%252F48&measure=FX_SESSION_RESTORE_FILE_SIZE_BYTES&min_channel_version=null&product=Firefox&sanitize=1&sort_keys=submissions&start_date=2016年07月26日&table=0&trim=1&use_submission_date=0), le poids median du SessionStore est de 90Ko. Le 75ème centile est de 430Ko, et le 95ème, de 2.9Mo. Si vous voulez savoir la taille du votre, trouvez le fichier `recovery.js` de votre profile. Pour ma part, je suis bien au delà du 95ème centile, avec un SessionStore pesant 20Mo. Je travaille régulièrement sur plusieurs projets, à plus ou moins long terme, et j'aime conserver tout plein d'onglets d'ouverts (210 à l'instant présent) pour pouvoir y revenir plus tard. Oui, je sais, c'est beaucoup, mais j'aime travailler ainsi. Et depuis 6 ans que j'utilise les extensions [Tree Style Tabs](https://addons.mozilla.org/fr/firefox/addon/tree-style-tab/) et Panorama/[Tab Groups](https://addons.mozilla.org/fr/firefox/addon/tab-groups-panorama/) je n'ai jamais vu le moindre impact sur les performances de Firefox (bon, je ferme tout de même Firefox au moins une fois par semaine histoire de décharger les onglets que je ne reverrais pas avant un certain temps). Si vous avez des suggestions sur comment gérer tout ça plus efficacement, je suis preneur. 1h de ~~boulot~~ ~~veille techno~~ glandouille sur le net à écrire très régulièrement un fichier de 20Mo, ça fait un gros Go d'écrit sur mon SSD (l'écriture de cet article représente à elle seule 4Go), soit environ 2To par an. Si vous avez un SSD de première génération (qui peut commencer à montrer des [signes de faiblesse après 100To d'écriture](http://techreport.com/review/27909/the-ssd-endurance-experiment-theyre-all-dead)) et que vous avez un usage un peu intensif de Firefox, pensez donc à faire des sauvegardes... Bon, il est temps maintenant de regarder ce qu'il y a dans le fichier. L'extension [About sessionstore](https://addons.mozilla.org/en-US/firefox/addon/about-sessionstore/) m'indique que 50% de ce fichier est occupé par les onglets fermés ces 14 derniers jours. J'ai donc décidé de réduire ce délai de moitié (pour commencer, car je pense que je n'ai jamais récupéré un onglet fermé depuis plus de quelques heures, voir quelques minutes). about:sessionstore m'indique aussi que 95% de ce fichier est occupé par le sessionStorage, qui est lui même composé à 95% de données issues de chez Google (oui, je suis faible, c'est mon moteur de recherche). Il s'agit en fait de données liées à Google Instant, une fonctionnalité ayant pour but d'accélérer les recherches en poussant dans votre navigateur les résultats des différentes propositions issues de l'autocompletion, avant même que vous ayez validé votre recherche. D'après mes quelques tests, cela représente à peu près 120Ko par recherche. Et comme Firefox me garde ça sous le coude pour les 14 jours à venir, ma machine se retrouve à écrire des dizaines de fois par jour des dizaines de Mo de résultats de recherche Google totalement inutiles. A noter que ce [problème](https://bugzilla.mozilla.org/show_bug.cgi?id=669603) est connu de Mozilla depuis plusieurs années, et il y a déjà eu des patchs pour améliorer les choses. Que faire ? J'ai déjà réduit à 1 semaine la durée de conservation des onglets fermés, et augmenté de 15s à 1min l’intervalle minimum de sauvegarde du SessionStore. Et c'est une bonne occasion pour chercher un moteur de recherche alternatif. [1] : valeur par défaut du paramètre `browser.sessionstore.max_tabs_undo`. [2] : valeur par défaut du paramètre `browser.sessionstore.cleanup.forget_closed_after`. [3] : valeur par défaut du paramètre `browser.sessionstore.interval`.