Nur EINEN Prozess verwenden

  • Firefox-Version
    99
    Betriebssystem
    Windows

    Ich würde gerne mal ausprobieren, wie sich Firefox verhält, wenn tatsächlich nur EIN Prozess verwendet wird.

    Leider sind die Einstellungen wohl alle nur zur Zierde, denn auch wenn ich bei den Leistungseinstellungen 1 einstelle, gibt es trotzdem um die 10 Prozesse im Task Manager.

    Die about:config Einstellungen browser.tabs.remote.autostart auf false und dom.ipc.processCount auf 0 oder 1 bewirken im Übrigen auch nichts.

    Also wie kriege ich es hin, dass Firefox tatsächlich nur EINEN Prozess verwendet?

    Einmal editiert, zuletzt von NoNameNeeded (11. April 2022 um 04:39)

  • Hallo,

    bevor hier irgendwelche Tipps in diese Richtung gegeben werden, sollte zunächst einmal die Motivation hinter diesem Vorhaben geklärt werden. Immerhin geht es hier um die Sicherheit, Stabilität sowie Reaktionsfreudigkeit, was du damit alles reduzieren würdest.

    • Sicherheit: Die Nutzung unterschiedlicher Prozesse hat den Sinn, dass ein kompromittierter Prozess keinen Zugriff auf andere Prozesse hat. Neben der Trennung verschiedener Websites ist vor allem die Trennung zwischen Websites und Browser selbst wichtig, denn der Browser-Prozess hat deutlich mehr Privilegien als ein Content-Prozess. Dann gibt es noch eine Reihe weiterer Prozesse, unter anderem für WebExtensions, den Zugriff auf lokale Dateien, zum Dekodieren von Daten oder einen für Netzwerkoperationen. Außerdem würdest du mit der Abschaltung der Multiprozess-Architektur das komplette Sandboxing abschalten, da dies ein grundlegende Voraussetzung dafür ist.
    • Stabilität: Websites können ohne Weiteres einen Absturz verursachen. Die unterschiedlichen Prozesse erlauben, dass dann tatsächlich nur der entsprechende Tab (oder sogar nur Frame) abstürzt. Nach deinem Vorhaben würde jedes Mal der komplette Browser abstürzen, was nicht nur ein weiteres Potential für Sicherheitsprobleme bringt, sondern auch ein Risiko für Datenverluste beinhaltet.
    • Reaktionsfreudigkeit: Ohne Nutzung unterschiedlicher Prozesse würde ein langsames Script auf einer Website alle anderen geöffneten Websites negativ beeinträchtigen, was so nicht der Fall ist.
    • Außerdem: Du würdest damit eine Konfiguration nutzen, die sich grundsätzlich anders verhält als es vorgesehen ist. Diese Konfiguration wird von Mozilla seit Jahren nicht mehr getestet, weder manuell noch durch die automatische Testabdeckung. Die Wahrscheinlichkeit für Fehlverhalten in dieser Konfiguration ist also gegeben und kann mit der Zeit nur noch weiter wachsen und nicht mehr sinken.

    Was genau erhoffst du dir davon? Mir fällt nämlich kein einziger vernünftiger Grund dafür ein, wieso man irgendetwas von dem wollen könnte.

    Leider sind die Einstellungen wohl alle nur zur Zierde, denn auch wenn ich bei den Leistungseinstellungen 1 einstelle, gibt es trotzdem um die 10 Prozesse im Task Manager.

    Das klingt eher danach, als hättest du deinen Firefox bereits kaputt konfiguriert. Es gibt in der Standard-Konfiguration (und nur diese wird offiziell unterstützt) nämlich überhaupt keine sichtbare Einstellung mehr dafür:

    Das würde seit der Website-Isolation auch gar keinen Sinn mehr ergeben, da nun, vereinfacht gesagt, jede Domain voneinander isoliert wird. Insofern stimmt es nicht, dass hier eine Einstellung nur Zierde wäre, schon gar nicht im Plural, da es nie mehr als eine einzige sichtbare Einstellung gab.

    browser.tabs.remote.autostart auf false

    Der Schalter macht seit knapp drei Jahren schon nichts mehr in den Firefox-Builds, die man herunterladen kann. Damit der Schalter funktioniert, müsstest du Firefox mit angepasster Konfiguration selbst kompilieren - und das für jede neue Firefox-Version wiederholen. Das ist nicht nur sehr zeitaufwändig, sondern bringt dir mit hoher Wahrscheinlichkeit zusätzliche Bugs und eine schlechtere Perforrmance, da du dann fast sicher nicht exakt die gleiche Compiler-Konfiguration wie Mozilla nutzen würdest, die hoch optimiert ist. Das Problem haben selbst offizielle Linux-Distributionen, dann ist das als Einzelperson ohne Erfahrung damit natürlich nicht weniger ein Thema.

    und dom.ipc.processCount auf 0 oder 1 bewirken im Übrigen auch nichts.

    Aus dem gleichen Grund, wieso es seit der Website-Isolation keine sichtbare Einstellung mehr dafür gibt. Die veränderte genau diesen Schalter.

    PS: Auch wenn manche aktive Mitleser bereits wissen, dass du bei Windows 7 hängen geblieben bist: Bitte immer im Feld für das Betriebssystem angeben. Es kann keine Anforderung an uns sein, dass wir uns das für jeden Nutzer merken.

  • Ich würde gerne wissen, wieviel RAM Firefox verbraucht ohne ständig den Taschenrechner bemühen zu müssen.

    Das ist einer der Gründe, warum ich dies ausprobieren wollte.

    Auch sind Einstellungen die gut gemeint sind, manchmal ja nicht unbedingt die besten.

    Man könnte also auch überprüfen, wieviele Prozesse tatsächlich sinnvoll sind und ab welcher Anzahl man nur zusätzlich RAM verschwendet.

    Im abgesicherten Modus sieht man diese Einstellung übrigens schon (Anzahl der Prozesse).

  • Klar ist RAM dazu da, genutzt zu werden.

    Ich zähle mich auch nicht unbedingt zu jenen, die immer nur darauf achten, dass der RAM-Verbrauch möglichst gering ist, selbst wenn ich dadurch Einschränkungen in Punkto Performance hinnehmen muss.

    Das ergibt dann keinen Sinn.

    Aber erfahrungsgemäß ist es zumindest bei älteren Rechnern schon seit Jahren so, dass man Firefox nach einigen Stunden auf jeden Fall neu starten muss, weil sonst alles sehr behäbig wirkt und bspw. Youtube-Videos schon mal stocken (bei meinem jetzigen Rechner nicht, aber der ist auch neuer, aber ich habe auch noch einen anderen auf dem auch die neue Firefox-Version laufen wird, da will ich schon mal Vorbereitungen treffen).

    Und das obwohl eigentlich noch mehr als genug RAM übrig wäre (RAM-Auslastung von Firefox liegt dann zw. 1-2GB).

    Da einfach mal mehrere Konfigurationen ausprobieren zu können, wäre nicht schlecht.

  • Ich würde gerne wissen, wieviel RAM Firefox verbraucht ohne ständig den Taschenrechner bemühen zu müssen.

    Das ergibt nicht wirklich Sinn, da du dir dadurch ja nicht das Zusammenrechnen sparst, sondern sich der Verbrauch ganz anders zusammensetzt. Die Zahlen wären also nicht vergleichbar.

    Auch sind Einstellungen die gut gemeint sind, manchmal ja nicht unbedingt die besten.

    Es mag sein, dass es Situationen gibt, in denen das zutrifft, aber ja wohl ganz klar nicht hier. Ich habe ja nicht nur eine Sache, sondern wirklich zahlreich und vor allem echte Argumente genannt. Dass es besser wäre, all das nicht zu haben, kann mir niemand glaubhaft erzählen.

    Man könnte also auch überprüfen, wieviele Prozesse tatsächlich sinnvoll sind und ab welcher Anzahl man nur zusätzlich RAM verschwendet.

    Mozilla hat in den letzten Jahren sehr viel dafür getan, den RAM-Overhead einzelner Prozesse zu reduzieren, aber natürlich bekommt man diesen nicht auf null und natürlich hat all das, was man dafür bekommt, einen Preis. Es gibt nun einmal einen Bedarf, der ist, wie er ist. Verschwendet wird überhaupt kein RAM.

    Es gibt auch keine Zahl, ab welcher das alles plötzlich nicht mehr sinnvoll wäre. Natürlich gibt es auch hier eine interne Einschränkung, Firefox wird niemals tausende Prozesse erstellen. Aber grundsätzlich verliert die ganze Maßnahme natürlich umso mehr an Wirkung, je mehr man das limitiert. Gerade, wenn man sagt, dass jede Domain isoliert laufen soll, ergibt es keinen Sinn, dass man den Anwender eine fixe Anzahl an Prozessen festlegen lässt.

    Im abgesicherten Modus sieht man diese Einstellung übrigens schon (Anzahl der Prozesse).

    Wenn das noch so ist, dann vermutlich, weil die Website-Isolation derzeit noch via Remote-Einstellung gesetzt wird. Aber damit ändert sich die Funktionsweise grundlegend.

    Aber erfahrungsgemäß ist es zumindest bei älteren Rechnern schon seit Jahren so, dass man Firefox nach einigen Stunden auf jeden Fall neu starten muss, weil sonst alles sehr behäbig wirkt und bspw. Youtube-Videos schon mal stocken (bei meinem jetzigen Rechner nicht, aber der ist auch neuer, aber ich habe auch noch einen anderen auf dem auch die neue Firefox-Version laufen wird, da will ich schon mal Vorbereitungen treffen).

    Das betrifft alle Browser und ist grundsätzlich ein guter Ratgeber. Zwar wird RAM auch wieder freigegeben, aber nie komplett und Browser sind sehr komplexe Anwendungen. Nach ein paar Stunden darf man seinen Browser ruhig mal neu starten. Ganz unabhängig davon, ob 30 Prozesse genutzt werden oder nur einziger.

    Da einfach mal mehrere Konfigurationen ausprobieren zu können, wäre nicht schlecht.

    Doch, wäre es. Schon deswegen, weil dein Experiment deine Sicherheit signifikant negativ beeinträchtigen würde, ebenso wie die Browser-Stabilität und was ich noch bereits nannte. Nicht alles eignet sich dafür, um vom Anwender als Spielwiese betrachtet zu werden. Es ist nun einmal einfach so, dass gerade die Sicherheits-Anforderungen an einen Browser in den letzten Jahren sehr stark gestiegen sind.

  • Ich würde gerne wissen, wieviel RAM Firefox verbraucht ohne ständig den Taschenrechner bemühen zu müssen.

    - der RAM wird nicht verbraucht. Er wird belegt, genutzt, reserviert ..... aber nicht verbraucht. Sonst müsstest du nämlich ständig nachfüllen.

    - Schau im Taskmanager nach -> Freier Speicher bei aktivem Firefox (mit unterschiedlichen vielen Tabs).
    Dann Firefox beenden und die Veränderung des freien Speichers beobachten.

    Ist auch nicht ganz genau, denn vor allem bei sehr knappem Speicher können sich andere Anwendungen dann zügig etwas mehr Speicher anfordern und nutzen, aber für den Überblick ist das m.E. ausreichend und einfacher als das Summieren der RAM-Belegung der einzelnen Prozesse ist es allemale

  • NoNameNeeded

    wenn ich mich nicht irre, verwendet Du ja schon Scripte.

    Dieses hier fügt in die Symbolleiste eine Anzeige des aktuell verwendeten Speichers

    ein. Kannst Du an die gewünschte Position über den Anpassen Dialog schieben.

    Bei Klick drauf wird die Speicherbelegung reduziert.

    (Also nicht mehr benötigter Speicher wieder frei gegeben.)

    Vielleicht reicht Dir das schon.

    Mfg.
    Endor

    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0
    OS: Windows 10 pro 64 bit und Windows 10 Home 64 bit
    Meine Scripte Sammlung: https://github.com/Endor8/userChrome.js
    Kein Support per PN. Fragen bitte im Forum stellen!

  • Nur absolut sinnfrei, weil Firefox sich sofort den Speicher wieder nimmt, wenn benötigt - auch ohne Nutzeraktion.

    Gegen zu wenig Speicher hilft nur mehr Speicher. Das hier endet wie üblich bei Pfusch an Firefox und am System.

    Wir sind keine Beschwerdestelle, hier gibt es nur Lösungen! Meine Glückszahl hier: 93.

  • Es geht nicht WIRKLICH um zu wenig vorhandenen RAM-Speicher, sondern darum dass Firefox seit Australis erstens deutlich mehr RAM verbraucht (ok, ist genehmigt) und zweitens dies dazu führt, dass Firefox sehr behäbig wird, sobald ein RAM-Verbrauch von etwa 1-1,5GB überschritten wird (und zwar auch bei der 64Bit Version).

    Das ist dann nicht mehr so ok und deswegen wollte ich versuchen den RAM-Verbrauch eher niedrig zu halten.

  • dass Firefox seit Australis erstens deutlich mehr RAM verbraucht

    Das bezweifle ich aber mal ganz stark. Es gibt keinen logischen Grund dafür, dass Firefox seit Version 29 angeblich "deutlich mehr" RAM beanspruchen soll.

    zweitens dies dazu führt, dass Firefox sehr behäbig wird, sobald ein RAM-Verbrauch von etwa 1-1,5GB überschritten wird (und zwar auch bei der 64Bit Version)

    Das mag dann zutreffen, wenn du darüber hinaus kaum noch verfügbaren RAM hast. In dem Fall solltest du dringend über eine RAM-Erweiternung nachdenken. Ansonsten habe ich alleine schon auf Grund der Anzahl und Komplexität der von mir permanent geöffneten Tabs eigentlich immer einen höheren RAM-Bedarf, ohne dass Firefox auch nur im Ansatz behäbig wird. Die von dir genannte Zahl ist für einen Browser jedenfalls nicht wirklich auffällig hoch. Aber klar ist natürlich, dass sich Firefox den RAM mit allem anderen teilen muss, was auf deinem System läuft. Es gibt übrigens auch noch andere Faktoren, welche die Leistung beeinflussen, wie die CPU. Oh, und die Speicherverwaltung und -nutzung mag unter Windows 7 auch noch nicht so fortgeschritten sein wie auf einem aktuellen Betriebssystem. Nichts für ungut.

  • wenn ich mich nicht irre, verwendet Du ja schon Scripte.

    Dieses hier fügt in die Symbolleiste eine Anzeige des aktuell verwendeten Speichers

    ein. Kannst Du an die gewünschte Position über den Anpassen Dialog schieben.

    Bei Klick drauf wird die Speicherbelegung reduziert.

    (Also nicht mehr benötigter Speicher wieder frei gegeben.)

    Hallo Endor

    Ich habe mir Dein Script mal installiert und festgestellt das es z.B. 580 MB anzeigt aber im Task-Manager nur knapp die Hälfte 230 MB. Ist das normal?

    Gruß hwww

    Firefox 125.0.3 - 64 Bit / Windows 11 - 23H2 - 64 Bit - Home

  • Hast du im Task-Manager denn den Bedarf aller Firefox-Prozesse addiert?

    Ich habe das Script auch mal eben getestet und leider taugt es aus meiner Sicht überhaupt nichts. Die hier angezeigte Zahl ist wirklich signifikant kleiner als das, was der Task Manager des Betriebssystems oder auch about:memory und about:processes in Firefox anzeigen.

  • Hast du im Task-Manager denn den Bedarf aller Firefox-Prozesse addiert?

    Nein hatte ich nicht. Alles zusammen kommt dann auf ca. 500 MB Anzeige vom Script ca 550 MB. Stimmt also auch nicht. Finde das das aber immer noch nicht viel ist. Jetzt nach ein paar Minuten auf ca. 1000 MB Anzeige bei ca. 660 MB.

    Firefox 125.0.3 - 64 Bit / Windows 11 - 23H2 - 64 Bit - Home

    Einmal editiert, zuletzt von hwww (12. April 2022 um 09:16)

  • Muss man abwägen; entweder mit X86 bei 3GB aufhören oder X64 installieren und etwas höheren RAM-Verbrauch in Kauf nehmen. Ich hatte mich seinerzeit für letzteres entschieden, weil Windows irgendwann anfängt den RAM zu komprimieren. Windows 32 Bit läuft allerdings etwas flinker als die 64er Version...

  • Kein x86 kann 4gb ausnutzen

    Wenn ich mal kurz in den nitpicking-Modus wechseln darf: Was einige als x64 bezeichnen, ist nur schlimme Umgangssprache, es existiert überhaupt keine x64-Architektur. Auch die 64-Bit-Version nutzt eine x86-Architektur und wird korrekterweise eigentlich als x86-64 bezeichnet, was vermutlich aus Schreibfaulheit zu x64 wurde (erschreckenderweise selbst in Dingen wie dem User-Agent des Browsers, aber gut, es hat sich ja sogar ein Rechtschreibfehler in einem HTTP-Header („Referer“) durchgesetzt). Daher würde ich jedenfalls nicht unterschreiben, dass kein x86 4 GB nutzen kann. Eine x86-CPU mit 64-Bit-Befehlssatzerweiterung kann das, was heute ja immerhin die große Mehrheit der x86-Prozessoren darstellt. :P

    Windows 32 Bit läuft allerdings etwas flinker als die 64er Version...

    Das mag in deinem Fall auf Grund unbekannter Umstände so gewesen sein, lässt sich aber nicht verallgemeinern. Im Gegenteil zeigt sich heute bei komplexen Anwendungen (bei nicht komplexen Anwendungen ist es völlig irrelevant) oft auch in der Performance ein Vorteil von 64-Bit. Dazu weniger OOM-Abstürze (auch bei wenig RAM, trotz eines minimal höheren RAM-Bedarfs!) und eine verbesserte Sicherheit gegenüber 32-Bit (Stichwort ASLR). Plugin-Kompatibilität ist auch seit Jahren kein Thema mehr. Wer kann, sollte also immer zur 64-Bit-Version greifen. Es ist ehrlich gesagt eine Schande, dass Microsoft erst mit Windows 11 die 32-Bit-Version eingestellt hat. Aber in Redmond dauern die Dinge eben gerne länger. Auch wenn sie es wahrscheinlich nicht zugeben würden, aber in solchen Dingen wartet Microsoft wohl auf Apple (die den Schritt vor einigen Jahren schon, aber eben erst nach der Veröffentlichung von Windows 10 vollzogen haben). Windows 11 zeigt ja auch noch ein paar weitere auffällige Parallelen zu macOS. Aber das führt zu weit vom Thema weg. ;)