Zaczęło mnie trochę denerwować, że nowo uruchomiony, pusty Firefoks wygląda (na moim Ubuntu AMD64) następująco:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
26990 marcink 20 0 593m 206m 26m S 3 23.6 0:23.89 firefox
Hmm. Opisuję jak na dwustu megabajtach budować całkiem rozbudowane serwisy, a na desktopie tyle pożera durna przeglądarka - zanim jeszcze zaczęła cokolwiek robić..
Stosując na doczepkę zasadę lekarzu lecz sam siebie do poprzedniego artykułu, przeszedłem się przez poinstalowane rozszerzenia - wyłączając je po kolei i obserwując konsekwencje.
Trochę pomiarów
Usunięcie jedynie rzeczy nie używanych albo mało używanych dało następujący efekt (kluczowa kolumna do obserwacji to RES
czyli rezydentna, prawdziwa pamięć):
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
28475 marcink 20 0 529m 106m 25m S 0 12.1 0:05.44 firefox
Spadek zużycia rezydentnej pamięci o połowę! A przy okazji, Firefox zaczął się dużo szybciej uruchamiać.
To jeszcze nie koniec, w trybie safe
(nie włączając
żadnych wtyczek) dostałem:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
30899 marcink 20 0 507m 60m 25m S 0 6.9 0:03.93 firefox
Firefox lekki jak Opera!
Oczywiście, test polegający na obserwacji nowo uruchomionego Firefoksa (mierzyłem restartując przeglądarkę i czekając kilka sekund, by się poinicjalizowała i wyświetliła domyślną stronę z wyszukiwarką) nie jest w pełni miarodajny, wiele dodatków zaczyna ważyć dopiero, gdy zaczynam otwierać strony.
Z drugiej strony, porównałem konsekwencje otwarcia kilku stron
(info.onet.pl
w pierwszym tabie, slashdot.org
w drugim, gmail w
trzecim, pomiar gdy wszystkie strony się otworzyły). W normalnym
Firefoksie (już trochę odchudzonym ale ciągle z sporą ilością
dodatków):
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
30955 marcink 20 0 656m 178m 27m S 26 19.8 0:25.28 firefox
W trybie firefox -safe-mode
:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
30899 marcink 20 0 616m 154m 27m S 15 17.7 0:21.47 firefox
Różnica jest nawet mniejsza, niż różnica na starcie (w trybie safe
poładowały się pewne skrypty i grafiki
przy normalnym działaniu wyblokowane)
Rekordzista
Większość wyłączanych przeze mnie dodatków dawała oszczędność paru-parunastu megabajtów. Absolutnym rekordzistą odpowiedzialnym tak za spadek z
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
26990 marcink 20 0 588m 184m 25m S 1 21.1 2:02.30 firefox
na
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
26990 marcink 20 0 542m 112m 25m S 8 12.8 2:16.87 firefox
jak za radykalne przyspieszenie startu przeglądarki okazał się Gmarks, tj. dodatek pozwalający synchronizować zakładki z Google Bookmarks. Oczywiście to koszt jakiejś wstępnej synchronizacji (i dużej ilości zakładek).
Dodatek Delic.io.us kosztuje dużo mniej, kilkanaście megabajtów. A zarządza podobną ilością zakładek i pozwala uzyskać zbliżony efekt - dostępność tych samych zakładek z wielu komputerów.
Nie tylko dodatki
Oczywiście kosztują nie tylko dodatki. Otwarcie GMaila to natychmiastowy skok zużycia rezydentnej pamięci o kilkadziesiąt megabajtów (a wirtualnej o kilka razy tyle). Na to jednak nie ma siły, może poprawi tu coś nowy silnik JavaScriptu w przyszłych wersjach Firefoksa.
Eclipse
Podobne zjawisko dotyczy Eclipse (całe życie używam głównie Emacsa ale ostatnio zaczynam zauważać zalety IDE).
Zacząłem od pobrania Eclipse Ganymede z oficjalnej strony. Próbowałem kilku różnych dystrybucji, efekty zawsze były podobne do poniższych:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
29973 marcink 20 0 968m 278m 31m S 55 31.9 0:50.29 java
Gdy na dodatek zaczęły mi się pojawiać błędy (konflikty między pluginami) wypróbowałem EasyEclipse. Zauważalnie lżejsze (a także odczuwalnie żwawsze):
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
30194 marcink 20 0 924m 130m 35m R 46 14.9 0:15.64 java
(wariant LAMP z paru dodatkowymi pluginami, wariant Python wygląda podobnie).
Było mi chyba zbyt dobrze, więc skusiłem się na dołączenie Aptany (jako pluginu):
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
30486 marcink 20 0 1310m 227m 54m S 2 26.0 0:32.82 eclipse
Wstępnie wyglądało to lepiej, radykalnie pogorszyło się po zainstalowaniu modułów do edycji PHP. Którego zresztą jeszcze nigdy nie użyłem.
Jest tu jakiś problem samej platformy Eclipse, za dużo kosztują nie używane narzędzia przez samo to, że są.
Posłowie
Firefox i Eclipse to częste przykłady żarłocznego wykorzystywania pamięci i zasobów komputera. Sporą część odpowiedzialności za to ponoszą dodatki. Także te nigdy nie używane.
Kolejny powód (po poprzednio dyskutowanym) by powyrzucać, co niepotrzebne.
Zakończę anegdotą. W początkach mojej zawodowej kariery, w ogniu świętej wojny VI kontra Emacs, nazwę mojego ulubieńca złośliwie tłumaczono jako Eight Megabytes And Continuous Swapping (osiem megabajtów, a mimo to ciągłe używanie pliku wymiany). To było potępienie żarłoczności...