Firefox schreibt in der Standardkonfiguration viele Daten
Posted on Friday, 23 September 2016 in Tipps
Standardmäßig sichert Firefox, ebenso wie Chrome, in fest definierten Intervallen die aktuelle Sitzung auf der Festplatte, um im Falle eines Crashs die möglichst aktuelle Sitzung wiederherstellen zu können. Dabei können, je nach Anzahl und Art der in verschiedenen Tabs geöffneten Webseiten, etliche Gigabyte an Daten pro Tag anfallen. Vor allem für billigere und ältere SSDs wirken sich viele Schreibzugriffe negativ auf die Lebensdauer aus. Vermutlich sind dabei Webseiten, die besonders skriptintensiv sind, für die größten Lasten verantwortlich.
Die Seite ServeTheHome.com hat sich das Verhalten genauer angeschaut. Im dortigen Fall kam Firefox mit Standardeinstellungen auf 10GB bis 15GB pro Tag. Dies kann unter Umständen, abhängig von den gewählten Einstellungen und geöffneten Seiten, bis 35GB am Tag anwachsen, wenn der PC nonstop läuft.
Die einfache Lösung
Die Lösung, die Schreibzugriffe einzuschränken, ist, zumindest im Falle von Firefox, relativ simpel. Nach der Eingabe von about:config in der Adresszeile lassen sich verschiedenste Einstellungen und das Verhalten von Firefox sehr genau steuern. Über den Parameter browser.sessionstore.interval wird festgelegt, in welchem Zeitintervall die aktuelle Sitzung auf der Festplatte gesichert werden soll. Der Standardwert 15000 steht dabei für 15s. Wird nur jede Minute eine Sicherung vorgenommen, reduziert dies die Belastung bereits um nahezu einen Faktor 4.
Betroffen dürften allerdings nur ältere oder billigere SSDs sein. Moderne und/oder teurere SSDs halten wesentlich mehr Schreibzyklen aus. Und HDDs haben mit diesem Verhalten in der Regel kein Problem. Möglich, dass nur dieses Szenario beim Einführen der Funktion mitsamt den Standardwerten berücksichtigt wurde, nicht aber die zunehmend starke Verbreitung von SSDs. Es kann jedenfalls nicht schaden, den Wert den eigenen Vorstellungen entsprechend anzupassen, um die Schreiblast zu reduzieren. Positiver Nebeneffekt: Die Systemressourcen werden ein klein wenig geschont.
Auch andere Programme schreiben viel und gerne
Chrome ist von diesem Problem ebenfalls betroffen, da auch hier, ähnlich wie bei Firefox, regelmäßig die Sitzung gesichert wird. Aber auch andere Programme wie Spotify knacken schnell die Gigabyte-Grenze, was die geschriebenen Daten angeht. Selbst wenn Spotify "nur" offen ist und keine Musik abgespielt wird, liest es ständig aus einer SQLite-Datenbank namens merqury.db und schreibt Daten in temporäre Dateien. Dabei sollen in einigen Stunden schon mal 30GB anfallen.
Bei einem kurzen Test von knapp einer halben Stunde habe ich ein paar Lieder mit Spotify gehört, mehrere Fenster mit vielen Tabs in Firefox geöffnet gehabt (idle) und die Schreibzugriffe protokolliert. Während mein Firefox etwas mehr als 10MB an Daten geschrieben hat, kam Spotify auf nahezu 400MB. Dienste zur Dateisynchronisation fielen dabei mit knapp 10MB Lese- sowie Schreibzugriffen für einige kleinere Dateien kaum ins Gewicht.
Lese- und Schreibvorgänge mittels iotop protokollieren
Um zu sehen, welche Programme wie viel Daten auf den Datenträger schreiben und von ihm lesen, kann z. B. iotop verwendet werden. Es muss, um auf die entsprechenden Kernel-Interfaces zugreifen zu können, mit root-Rechten gestartet werden. Ruft man es ohne weitere Parameter auf, listet es, ähnlich wie top, die aktuellen Zugriffe sortiert in einer Liste auf. Um aber Programme besser zuordnen zu können und die Daten zu akkumulieren, muss es mit
# iotop -aoP
aufgerufen werden. Dabei bezweckt a, dass die Daten akkumuliert ausgegeben werden, o zeigt lediglich Programme an, die auch Daten gelesen oder geschrieben haben, und P zeigt nur Prozesse statt auch deren Threads an. So kann genau nachvollzogen werden, welches Programm wie viel Daten auf die Festplatte/SSD geschrieben und von ihr gelesen hat, seit iotop gestartet wurde.