Google Chrome – oczyszczanie pamięci

Firefox - about memory

Gdy Chrome był jeszcze w powijakach jednym z koronnych argumentów za tą przeglądarką była niska zasobożerność. W porównaniu do innych przeglądarek, zwłaszcza do Firefoxa, wydawał się lekki jak piórko. A jak jest teraz?

Prawdopodobnie najlepszym benchmarkiem dla przeglądarek jest…. moja żona 😉 Sposób, w jaki przegląda Internet, stawia komputery i przeglądarki pod ścianą – dziesiątki, czy też setki, otwartych zakładek w kilku przeglądarkach jednocześnie. Całkiem niezły komputer potrafi tak zamulić, że na jego reakcję po naszej aktywności trzeba chwilę poczekać.

Nie jest to jednak Jej wina; trendy webowe, bazujące na ciągłym aktualizowaniu zawartości w tle (zawołania ajax), wodotryskach (przesuwane tła, zmieniane rozmiary elementów) – wszystko to realizowane jest przez setki linii kodu JavaScript. Jak łatwo można się domyślić, sporo witryn tworzonych przez domorosłych webmasterów zawiera duże partie nieoptymalnego kodu, któremu nawet najlepszy garbage collection nie pomoże. Nawet najlepsi i najwięksi gracze Internetu czasem muszą znaleźć kompromis między wydajnością, zużyciem zasobów, a tym co chcą osiągnąć. Jak bardzo JavaScript obciąża pamięć? Szybki rzut oka na about:memory i co:

Firefox - about memory

Połowa zużywanej pamięci to JavaScript!

Jako, że ja używam przeglądarek dość oszczędnie (powyższe podsumowanie dla 35 otwartych kart), to nie odczuwam problemu na co dzień. Na wszelki wypadek jednak swego czasu odnalazłem wtyczkę Memory Fox, której działanie faktycznie jest odczuwalne (bo Firefox nawet mimo ustawienia ograniczenia zużycia pamięci w ustawieniach potrafi przekroczyć zdeklarowany limit).

Aktualizacja 10.2.2018: Firefox w międzyczasie zmienił swój silnik i architekturę, a Memory Fox nie jest już dostępne, więcej informacji tutaj.

Problem pojawił się, gdy okazało się, że Chrome na laptopie Żony zjadł niespełna 2GB(!) pamięci RAM – tak kończy się otworzenie mnóstwa zakładek i trzymanie ich wiele godzin w otwartej przeglądarce, przy usypianym (a nie zamykanym) systemie. Jak to mówią, grosz do grosza…

Kilka klików po opcjach przeglądarki i łatwo można znaleźć tamtejszy menedżer zadań:

Menedżer zadań Chrome

Jednak lista procesów ani mnie grzeje, ani ziębi, pokazuje jedynie co obciąża system, ale rozwiązania nie oferuje. Jest na to jednak sposób – odkrycie ukrytego guzika uwalniania pamięci ;). Na tym etapie rozwoju Chrome’a deweloperzy postanowili by guzik ów nie był jeszcze dostępny dla wszystkich, ale jest możliwość by włączyć sobie tę funkcjonalność. Aby to zrobić należy wejść we właściwości pliku wykonywalnego Chrome.exe:

Start - Wyszukaj - Chrome

a następnie w polu „element docelowy” dodać przełącznik

1
--purge-memory-button

Chrome - właściwości aplikacji

Dzięki temu, po uprzednim wyłączeniu Chrome’a i ponownym jego uruchomieniu z wyedytowanego skrótu, w menedżerze zadań będziemy mieć dodatkowy guzik:

Chrome - Oczyść pamięć (Purge memory)

Żadna wtyczka ani żaden guzik nie zastąpią jednak najlepszego menedżera zadań i garbage collectora w jednym – Waszego podejścia do korzystania z przeglądarki 😉

Komentarze do "Google Chrome – oczyszczanie pamięci": (1)

  1. używam przeglądarki tak samo jak twoja żona 🙂 może troche mniej gdyż zasoby sprzętowe nie nadążają…

Skomentuj "Google Chrome – oczyszczanie pamięci":

Musisz się zalogować, aby móc dodać komentarz.