Guten Tag,
ich habe folgendes Phänomen schon länger beobachtet. Mein FireFox 3.6.xx bis aktuell 28 ist sehr speicherintensiv, wenn er viele Tabs geöffnet hat. Mit viel meine ich nicht 10 sondern über 100. Ich arbeite Inhalte kontinuierlich ab und öffne alle weiterführenden Links in neuen Tabs. Das klappt auch sehr gut. Problematisch wird es, wenn man das mit Videoseiten wie Youtube ohne Flashblock machen würde. Doch dank Flashblock ist das auch kein Problem. Doch irgendwann nimmt auch bei vereinzelten Youtube-Video-Aufrufen die Speicherauslastung stark zu. Der Speicherzuwachs reduziert sich leider nach schliessen der betreffenden Seite jedoch nicht. Leider nimmt auch die Prozessorlast sporadisch auf 99% zu ohne ersichtlichen Grund und unterschiedlich lang. Dabei ist kein Video geladen. Es sind reine Textseite in dem Moment. Ohne BarTab hat FireFox sehr schnell eine Speicherauslastung von über 900MB erreicht. Ab 1000 MB scheint es FireFox Probleme zu bereiten.
Vor ab einmal die Konfiguration:
FireFox 3.6.28
+NoScript 2.3.6 damit erst gar keine JavaElemente von Seiten und unötige Elemente geladen werden
+Flashblock 1.5.15.1 damit Videos nicht sofort geladen werden und den FireFox verlangsamen und Speicherlast erhöhen
+Adblock Plus 2.0.3 damit Werbung aber hauptsächlich unnötige Elemente erst gar nicht geladen werden
+Stealthy 1.2 um Youtube oder andere Sperren zu umgehen
+BarTab2.0 damit bei der Sessionrestore FireFox sich nicht gleich in den Speicher frist bzw. Seiten erst dann lädt, wenn man Sie wirklich lesen will.
System:
1 Ghz UltraLowVoltage Mobile Intel CPU
1,5 GB Ram
1,5 GB Virtuelle Auslagerungsdatei
Dank BarTab konnte ich den Speicherhunger eingrenzen besonders nach einem Sessionrestore, weil nicht gleich alle Tabs geladen werden und FireFox somit nicht für die nächsten 15min unnutzbar ist. Die Seite wird erst geladen, wenn ich auch das Tab ankilcke. Tatsache ist aber, auch wenn ich auf diese Weise die gesamte Session wieder herstelle, daß der Speicher schnell nach 2 Stunden über 900MB erreicht, obwohl ich noch gar nicht mal die Hälfte der wiederhergestellten Tabs per Maus angeklickt habe. Das ist eigentlich auch kein Problem. Zwar setzt sich unerklärlicherweise gelegentlich die CPU auf 99 % bei Firefox aber es funktioniert scheinbar noch alles. Doch das Problem steckt im Detail. Durch BarTab schiebe ich nur das Phanomen hinaus.
Im Taskmanager unter Prozesse sind folgende Werte für FireFox.exe:
Anfang nach einiger Zeit kritischer Zustand
Speicherauslastung: 180MB 800MB 1000 MB
Maximale Speicherauslastung: 200MB 900MB 1100 MB
Virtueller Speicher: 190MB 900MB 1500 MB
Bis zu einer Speicherauslastung von 900MB kann man FireFox normal beenden und er speichert einigermaßen schnell die Tabs. Rechnet zwar auch seine Minute und gibt langsam den Speicher frei. Die Firefox.exe rechnet aber bis ca. 300MB runter und dann verschwindet diese aus dem Reiter Prozesse.
Überschreitet die FireFox.exe aber die 1000MB bzw. nähert sich der virtuelle Speicherwert den 1500MB kommt es zu Problemen. Der FireFox verhält sich erstmal ganz normal außer das er kurzzeitig 99% CPU Auslastung hat, weil das Programm Freemem ab 50MB freien Ram 200MB frei macht. Jetzt könnten einige sagen, daß man die Speicherverwaltung besser Windows überläßt. Tja, wenn ich Freemem beende, verabschiedet sich FireFox bei erreichen dieses Werts ohne Vorwarnung. In diesem Fall ist es offensichtlich gut, daß Freemem Firefox zwingt Ram frei zu geben.
Problem ist erstmal nur, dass FireFox dann halt erstmal durch die 99% CPU nur verzögert nutzbar ist.
Steigt der Wert der Speicherauslastung gegen 1300 MB mit Virtueller Speicherauslastung von 1600 stürzt FireFox auch mit einem Fehler ab nach dem er lange nur noch mit 99% CPU Last gerechnet hat. Soweit muß man es ja nicht kommen lassen, werden einige sagen. Stimme ich durch aus zu aber es nervt ständig die Speicherentwicklung von FireFox zu verfolgen.
Das eigentliche Problem besteht auch nicht darin, sondern wenn ich FireFox bei einer Speicherauslastung/virtuellen Speicherwert von über 1000MB ordnungsgemäß beende und alle Tabs speichern lasse, beim nächsten Start von FireFox kommt die Meldung "FireFox hat Schwierigkeiten, die Tabs und Fenster Ihrer letzten Sitzung wiederherzustellen. Häufig liegt das an einer kürzlich geöffneten Webseite."!
Das stimmt ja wohl gar nicht. Eine Seite hat hier nichts zu Absturz gebracht. Ich hab FireFox ordnungsgemäß beendet und er sollte nur die geöffneten Tabs bzw. deren URLs sichern. Wo ist da das Problem? Scheinbar gibt es eines, denn
tatsächlich wurden bei näherer Kontrolle nicht alle Tabs gespeichert, sondern ein alter Status aufgerufen, wo einige schon geschlossene Tabs wieder da sind und andere, die ich kurz zuvor neu geöffnet habe, gar nicht aufgelistet werden.
Auffällig ist beim Beendenvorgang von FireFox indem Fall auch, daß sich daß FireFox Fenster fast unverzüglich jedenfalls aus optischer Sicht einwandfrei schließt. Also nicht mehr sichtbar auf dem Desktop ist und in der Taskbar nicht mehr erscheint. Doch wer jetzt gleich den FireFox neustarten will, würde eine Überraschung erleben. Denn die Firefox.exe ist nämlich noch als Prozess aktiv. Anstatt jetzt die Speicherauslastung runter zu rechnen, gehen die Werte teilweise erstmal noch nach oben, dann nach unten, um wieder nach oben zu gehen. Das geht etwa bis zu 10min bevor die FireFox.exe als Prozess verschwindet. Wenn man ganz großes Glück hat, geht bis dahin der Verbrauch vor dem Verschwinden der FireFox.exe auf 500MB runter. Doch meistens verschwindet die FireFox.exe schon bei 800MB.
Ich sage Glück, weil ich denke, daß es wohl so gewollt ist, daß FireFox den Speicher abarbeitet und wohl irgendetwas noch im Profil sichert. Mein Profil ist auch Fehlerfrei. Es kommt beim Beenden also keine Absturzmeldung, wie wenn Firefox sich erhängt hat. Trotzdem stellt FireFox beim nächsten Start nicht korrekt alle Seite gleich wieder her bzw. zeigt das Wiederherstellungsfenster, wo aber nicht alle Seiten mehr aufgelistet sind. Die Sessionstor.js wurde aber zum Beenden Zeitpunkt laut Änderungsdatum korrekt geschrieben.
Das ist ziemlich nervig, wenn man sich beim normalen Beenden trotz der hohen Speicherauslastung nicht auf eine ordentliche Sessionspeicherung verlassen kann.
Woran liegt dies also?
Ach ja, ein ähnliches Verhalten hab ich auch an einem anderen PC mit FireFox 11 festgestellt.
Also nicht sagen, auf eine neue Version updaten. Denn daran liegt es scheinbar nicht. Auch wenn GPU-Unterstüzung bzw. die BarTab Funktion schon in neueren Versionen integriert sind.