Forum général.général Firefox mange des bébés SSD

Posté par . Licence CC by-sa
9
24
sept.
2016

Hier, je suis par hasard tombé sur cet article (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 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, 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 et Panorama/Tab Groups 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) 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 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 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.

  • # Optimisations

    Posté par (page perso) . Évalué à 2.

    Bonjour,

    sur mon eeePC 701, j'avais configuré Firefox pour que ces fichiers soient placés ailleurs, dans un système monté en ram.

  • # et youtube ?

    Posté par . Évalué à 1.

    youtube, dailymotion, redtube et autre doivent avoir une forte incidence sur les SSD aussi non?
    Les vidéos sont-elles stockées en ram ou sur le disque système? Si elles sont sur le disque système, peut-on les envoyer en ram (jusqu’à une certaine limite pour pas overflow la ram) et ce sans bloquer les extensions Firefox de téléchargement de vidéos sur les dits sites? ^ ^

    Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat

    • [^] # Re: et youtube ?

      Posté par . Évalué à 1.

      Comme tout ce qui fait l'objet de requêtes HTTP, ces données sont injectées dans le cache du navigateur (enfin, tout dépend des directives de cache associées), et donc sauvegardées sur le disque dur.
      On peut très certainement faire en sorte que ce cache soit en RAM, mais celui-ci perd alors un peu de son intérêt.

  • # y a que moi que ca choque ?

    Posté par . Évalué à 4.

    et j'aime conserver tout plein d'onglets d'ouverts (210 à l'instant présent) pour pouvoir y revenir plus tard

    tu sais, pour ca on a inventé les marques pages,
    ca te permet de sauvegarder une URL, de la classer et de la tagguer,
    et donc de pouvoir y revenir plus tard

    parce que franchement, avec 210 onglets, je ne vois pas comment tu te souviens que le truc interessant pour ton projet il est dans l'onglet 25 et pas dans l'onglet 71 et que celui pour la reservation de ton hotel il est dans le 81 au lieu du 200…

    • [^] # Re: y a que moi que ca choque ?

      Posté par . Évalué à 1.

      Non, tu n'es pas le seul, ça choque beaucoup de personnes.
      Mais ça fait des années que je trouve ce fonctionnement plutôt efficace, même si j'ai toujours l'espoir de trouver une méthode plus… ordonnée.

      Oui, je sais que les marque-pages existent. Sauf que leur utilisation repose sur le fait de trouver des noms de dossier/tags pertinents, et je trouve que c'est une perte de temps (surtout à court terme).
      Avec ma méthode, je peux juste ouvrir des onglets, et ceux-ci apparaissent automatiquement classés de façon hiérarchique.

      Comment se repérer dans tout ça ?
      Grâce à l'extension Tab Groups, j'ai plusieurs "workspaces", qui ne contiennent actuellement pas plus de 75 onglets (mais je pense déjà avoir dépassé la centaine).
      Grâce à l'extension Tree Style Tabs, j'ai une barre latérale qui m'affiche l'ensemble des onglets du workspace courant, avec une trentaine visible (généralement les plus récents), et les autres accessibles par simple scroll.

      Comment retrouver facilement un onglet ? J'imagine que le fait de voir en permanence leur nom ainsi que leur favicon, et de les avoir sous forme hiérarchique, fait travailler la mémoire visuelle. Il est du coup assez facile de repérer le "motif" caractérisant l'onglet recherché.

      Cette méthode nécessite cependant un petit nettoyage périodique, mais c'est assez facile. Je commence par les plus vieux, et mon choix se résume généralement à :

      • C'est bon, j'ai réglé ce point de mon projet, je peux fermer cet onglet (et certainement tous ses descendants dans la hiérarchie).
      • C'est pas tout à fait réglé, je le garde encore un peu.
      • C'est une page/un site super intéressant, je le sauvegarde dans la doc du projet/je le tag de façon pertinente dans un système de bookmarks…
      • [^] # Re: y a que moi que ca choque ?

        Posté par . Évalué à 3.

        donc tu m'expliques que tu ne trouves pas comment ranger/tagguer des bookmarks

        mais tu me dis que tu as fait des "workspaces" (donc des dossiers finalements) pour ranger tes onglets => les dossiers de bookmarks feraient la meme chose, et les tags de permettraient d'avoir un site qui soit dans plusieurs workspaces differents.

        mais en effet, le cerveau n'est pas cablé pardeil suivant les personnes, classement logique, classement visuel (il est dans le 3e onglet avec la fleur)
        mais ca me fait toujours bizarre d'avoir des gens avec plus de 70onglets ouverts quand j'en ai 10/15 maxi ( 5 permanents sur mes sites favoris / 5 à 10 temporaire le temps d'une recherche )
        tout le reste en bookmark avec un tag sur "pourquoi je suis tombé sur cette page ?" (generalement les memes mots clef que ceux du moteur de recherche

        comme ca ensuite j'ouvre la tab des bookmarcks, je cherche avec ces mots clefs et je retombes sur mes bookmarks, avant d'aller chercher sur internet

        avantage, je ne consomme pas 4Go de RAM juste pour un firefox ;)

        • [^] # Re: y a que moi que ca choque ?

          Posté par . Évalué à 1.

          En effet, les workspaces s'apparentent au premier niveau de dossier pour les marque-pages, et ça ne me pose pas de problèmes de leur trouver des noms, vu qu'ils sont généralement liés à des projets qui vont durer plusieurs jours/semaines/mois. C'est juste pour compartimenter les choses un minimum.

          Pour les onglets qu'il contiennent, c'est un autre problème. Je trouve souvent des infos qui me seront peut-être utiles dans mon projet, mais je ne sais ni quand, ni pendant combien de temps cela me sera utile (ni même si cela me sera réellement utile). Du coup, j'ai pas envie de devoir manuellement classer pertinemment quelque-chose qui ne l'est peut-être pas.

          Ne te méprend pas, j'ai essayé d'utiliser les marques pages, mais j'ai trouvé ça trop pénible.

          Au final, j'utilise les onglets comme des marque-pages. En un peu plus léger, vu que je n'ai rien à faire. Je les ai certes détournés de leur usage initial, mais ça marche pour moi, donc…

          Quant à la consommation mémoire, oui c'est un peu plus que la normale, mais je suis conscient de demander à mon navigateur plus que la normale. C'est donc logique qu'il consomme un peu plus. Après, je pense avoir rarement vu mon Firefox consommer plus de 1.5Go (parfois après plus d'une semaine sans redémarrage), rien d'insurmontable.

  • # Mettre le profil en RAM...

    Posté par . Évalué à 1.

    …avec l'outil qui va bien : https://github.com/graysky2/profile-sync-daemon

  • # firefoxe mange de bebe ssd

    Posté par (page perso) . Évalué à -1.

    tous les navigateur bouffent de l'espace disque, mais la n'est pas le problème, le problème c'est le stockage des données intimes et les divulguer pour d'autres organismes, état ou privée ! ca c'est la question qu'il faut éclairer d'avantage.
    merci pour votre contribution

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.