Sashkin - stock.adobe.com

So sparen Sie RAM mit der Wahl des richtigen Webbrowsers

Browser ist nicht gleich Browser. Ihr Arbeitsspeicherbedarf kann sich bei den gleichen Aktionen unterscheiden. Das ist eine wichtige Information für das Setup von Mitarbeiter-PCs.

Webbrowser belegen manchmal erschreckende Mengen des Arbeitsspeichers, und es ist nicht ungewöhnlich, dass ein Browser mehrere Gigabyte RAM benötigt.

Das wird nicht zwangsläufig zum Problem, aber eine hohe RAM-Nutzung kann die Produktivität Ihrer Mitarbeiter negativ beeinträchtigen und im Extremfall dafür sorgen, dass diese Workarounds finden, die aus der Sicherheitsperspektive fragwürdig sind. IT-Administratoren sollten wissen, wie viel Arbeitsspeicher Browser potentiell belegen, was diesen Bedarf in die Höhe treibt und wie sie ihn messen können.

Warum belegen Browser so viel RAM?

Webbrowser speichern vorrübergehend die verschiedenen Elemente, aus denen eine Webseite besteht. Sie speichern zwar einige Objekte auf der Festplatte zwischen; Memory-Caches sind jedoch in der Regel schneller als Festplatten-Caches. Aus Leistungsgründen setzen Browser für diese Aufgabe vornehmlich auf den Arbeitsspeicher.

Hinzu kommt, dass die meisten Browser nicht aus statischem HTML bestehen. Ein weiterer Faktor für den Arbeitsspeicherbedarf eines Browser sind somit die Berechnungen für das Rendering von Webseitenelementen.

Moderne Browser sind Multithreading-fähig und verwenden somit mehrere Systemprozesse parallel. Befehle laufen zeitgleich, was die Leistung des Browsers steigert. Auf der anderen Seite steht jedoch, dass diese Vorgehensweise mehr RAM belegt.

Messen der RAM-Nutzung mit PowerShell

Es ist gar nicht so einfach, den RAM-Bedarf eines Browsers zu ermitteln. Das liegt daran, dass jede Browser-Registerkarte mit einem separaten Prozess verknüpft ist und jeder Prozess jeweils Speicher belegt. Manche Prozesse sind mit anderen Browserfunktionen im Hintergrund verbunden. Um den Gesamt-Arbeitsspeicherbedarf eines Browsers zu messen, müssen Sie den Memory-Bedarf all dieser Komponenten aufspüren und zusammenrechnen.

Hier hilft Ihnen PowerShell. Die drei untenstehenden Codezeilen geben die RAM-Nutzung für den Edge-Browser aus – Sie können aber jeden Browser auf diese Weise testen:

$A = Get-Process | Where-Object {$_.Name -eq 'MSEdge'}

$B = $A.WS | Measure-Object -Sum

$B.Summe /1MB

In der ersten Codezeile erstellen wir eine Variable mit dem Namen $A und verknüpfen sie mit allen laufenden Prozessen mit MSEdge als Namen. Damit dieser Code für andere Browser funktioniert. Um alle Prozesse einzusehen, die Sie mit der Variable verknüpft haben und wie viel Arbeitsspeicher sie belegen, geben Sie den Befehl $A | Select-Object Name ein.

Diese zweite Codezeile berechnet den RAM-Bedarf des Browsers, indem sie eine weitere Variable erstellt. Diese Variable heißt $B (Abbildung 1).

Abbildung 1: PowerShell kann alle einzelnen Browserprozesse und den von ihnen belegten Arbeitsspeicher anzeigen.
Abbildung 1: PowerShell kann alle einzelnen Browserprozesse und den von ihnen belegten Arbeitsspeicher anzeigen.

Im Anschluss speisen Sie diese Informationen über die Pipeline in das Cmdlet Measure-Object ein und hängen den Parameter an. Auf diese Weise lässt sich der von den einzelnen MSEdge-Prozessen genutzte Arbeitsspeicher zusammensetzen, so dass Sie am Ende die Gesamtmenge sehen, die der Browser für alle geöffneten Registerkarten belegt. Um zu prüfen, wie viele Prozesse der Browser im Moment verwendet, geben Sie einfach $B ein.

Die letzte Codezeile gibt den gesamten vom Browser belegten Arbeitsspeicher an, wobei der Wert in Megabytes umgerechnet wird. Ohne den /1MB-Teil des Befehls bekommen Sie den Arbeitsspeicher in Kilobytes angezeigt. Alternativ geben Sie /1GB ein, um die Speichernutzung in Gigabyte zu bekommen.

Vergleich der Speichernutzung in verschiedenen Browsern

Jeder Browser verwendet RAM auf unterschiedliche Weise, so dass Administratoren nicht wirklich ein Gefühl für die Memory-Nutzung eines Browsers bekommen können, wenn sie sich nur das Verhalten für ein paar verschiedene Webseiten ansehen.

Mit einem einfachen Test lässt sich verdeutlichen, dass die Browser den Arbeitsspeicher auf unterschiedliche Weise und in unterschiedlichem Maße nutzen. Diese Fallstudie bezieht sich auf Microsoft Edge, Google Chrome und Mozilla Firefox, die alle auf einer Virtuellen Maschine laufen. Für diesen Test öffnen wir in jedem dieser Browser eine Registerkarte. Dann verwenden wir den oben aufgeführten PowerShell-Code, um die RAM-Nutzung der einzelnen Browser zu ermitteln. Auf Safari verzichten wir, da Apple seit 2015 keine PC-Version von Safari mehr veröffentlicht hat und diese Version nicht mehr zum Herunterladen verfügbar ist.

Nachfolgend sind die Prozessnamen aufgeführt, die mit jedem Browser in PowerShell verknüpft sind.

Name des Browsers

Name des Prozesses

Edge

MSEdge

Chrome

Chrome

Firefox

FireFox

Google Chrome hat begleitende Crash-Handler-Prozesse, die in diesen Metriken nicht enthalten sind.

Name des Browsers

Belegter Arbeitsspeicher

Edge

476,56 MB

Chrome

422,91 MB

Firefox

683,66 MB

Sie sollten Ihre Entscheidung für oder wider einen Browser nicht ausschließlich anhand dieser von uns ermittelten Zahlen treffen. Der RAM-Bedarf ist nicht der einzige Faktor, aber in bestimmten Szenarien kann er dennoch entscheidend sein. (Abbildungen 2, 3 und 4).

Abbildung 2: Die Ausgabe eines PowerShell-Codes zur Anzeige der RAM-Nutzung für den Microsoft Edge-Browser.
Abbildung 2: Die Ausgabe eines PowerShell-Codes zur Anzeige der RAM-Nutzung für den Microsoft Edge-Browser.

Sie sollten außerdem unbedingt beachten, dass unsere Tests nur das Verhalten der Browser zu einem bestimmten Zeitpunkt abbilden. Es kann beispielsweise sinnvoll sein, sie mit Seiten und Webanwendungen zu testen, die Ihre Mitarbeiter regelmäßig nutzen müssen.

Ein weiterer wichtiger Aspekt ist, dass Memory nicht unbedingt frei wird, sobald der Benutzer den Browser schließt. Kurz nach dem Schließen des Edge-Browsers haben wir beispielsweise in diesem Testfall noch fünf Edge-Prozesse auf dem Rechner gefunden.

Abbildung 3: Die Ausgabe eines PowerShell-Codes, der die RAM-Nutzung für den Google Chrome-Browser anzeigt.
Abbildung 3: Die Ausgabe eines PowerShell-Codes, der die RAM-Nutzung für den Google Chrome-Browser anzeigt.

Nicht zuletzt sollten Sie beachten, dass die Memory-Nutzung des Browsers im Laufe der Zeit ansteigt oder schwankt, auch wenn Sie nichts ändern. Wir haben den Arbeitsspeicherbedarf der Browser unmittelbar nach der Installation gemessen. Manchmal benötigen Browser mehr und mehr Arbeitsspeicher, je länger sie in Gebrauch sind.

Abbildung 4: Die Ausgabe eines PowerShell-Codes zur Anzeige der RAM-Nutzung für den Mozilla Firefox-Browser.
Abbildung 4: Die Ausgabe eines PowerShell-Codes zur Anzeige der RAM-Nutzung für den Mozilla Firefox-Browser.

Um diesen Effekt zu veranschaulichen, öffnen Sie eine Instanz des Edge-Browsers mit einer Registerkarte, in der Sie YouTube aufrufen. Führen Sie wie gewohnt die Messung durch und schließen Sie dann den Browser. Wiederholen Sie diesen Vorgang noch ein paar Mal. Sie werden feststellen, dass der Browser nun für die gleiche Aktion mehr Arbeitsspeicher benötigt, wobei der größte Anstieg von der ersten zur zweiten Messung zu verzeichnen ist (Abbildung 5).

Abbildung 5: Die Schwankungen der Speichernutzung im Laufe der Zeit bei wiederholten Messungen von Microsoft Edge.
Abbildung 5: Die Schwankungen der Speichernutzung im Laufe der Zeit bei wiederholten Messungen von Microsoft Edge.

Es liegt auf der Hand, dass Browser-Metriken aufgrund zahlreicher Faktoren stark schwanken können. IT-Teams sollten einzelne Messungen niemals als einzige und absolute Aussage über den Zustand des Browsers zu einem bestimmten Zeitpunkt betrachten.

Erfahren Sie mehr über Storage Management