Google Chrome – oczyszczanie pamięci
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:
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ń:
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:
a następnie w polu „element docelowy” dodać przełącznik
1 | --purge-memory-button |
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:
Ż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 😉
Kategoria:Użyteczne
Oznaczone jako: chrome, firefox, garbage collection, google, javascript, memory, pamięć, przeglądarki
Przekaż dalej:
używam przeglądarki tak samo jak twoja żona 🙂 może troche mniej gdyż zasoby sprzętowe nie nadążają…