Dlaczego moje użycie pamięci Firefox stale rośnie wraz z użytkowaniem i nigdy nie wraca do poziomu początkowego?

13

Korzystam głównie z przeglądarki Firefox jako przeglądarki internetowej. Zauważyłem, że po otwarciu i zamknięciu niektórych kart zużycie pamięci Firefox staje się coraz większe.

Ten fakt często prowadzi mnie do awarii (celowe użycie menedżera zadań) i ponownego otwarcia go, wybierając tylko niektóre z kart, których potrzebuję. Są przypadki, w których otwieram wszystkie moje wcześniej otwarte karty. Zabawne jest to, że nawet w tym przypadku zużycie pamięci jest znacznie mniejsze niż przed zamknięciem Firefoksa.

Więc moje pytanie brzmi: dlaczego tak się dzieje? Dlaczego zamknięcie kart nie pomaga (a przynajmniej nie tak bardzo)? Czy istnieje sposób na zmniejszenie zużycia pamięci bez wyłączania Firefoksa?

Eypros
źródło
1
Kiedy mówisz „pamięć”, co dokładnie masz na myśli? Rozmiar zestawu rezydenta? Zobowiązać się do opłaty? Rozmiar adresu wirtualnego? Jak mierzysz i jakiego systemu operacyjnego używasz? Ponadto, dlaczego celowo go rozbijasz? Czy masz jakiś faktyczny problem? A może wolisz zmarnować pamięć RAM niż ją wykorzystać?
David Schwartz
1
Przepraszamy za brakujące informacje. Używam win7, mam na myśli pamięć RAM, mierzę po prostu obserwując kartę menedżera zadań, więc oszacowanie pamięci może nie być zbyt dokładne. Faktem jest, że firefox czasami używa do 2 GB pamięci, co nie wydaje się rozsądne ze względu na liczbę i zawartość otwartych kart.
Eypros
Która zakładka - „Zestaw roboczy (pamięć)”?
David Schwartz
1
Mogę polecić mały dodatek, który w prosty sposób pozwala zrestartować Firefox. addons.mozilla.org/ru/firefox/addon/restartless-restart
Michaił Moskalev

Odpowiedzi:

5

Wpisz about: memory w pasku adresu. Kliknij „Minimalizuj zużycie pamięci”.

https://support.mozilla.org/en-US/kb/firefox-uses-too-much-memory-ram

David Marshall
źródło
+1. Nie wiem, czy to rozwiąże cały mój problem, ale i tak było przydatne, więc dzięki.
Eypros
7
To całkowicie nie odpowiada na zadane podstawowe pytanie. „Dlaczego moje użycie pamięci Firefox stale rośnie wraz z użytkowaniem i nigdy nie wraca do początkowego poziomu?
David Schwartz
Nawiasem mówiąc, chciałbyś to zrobić tylko wtedy, gdy testujesz lub testujesz. Zmusza system do marnowania pamięci, której używał, nawet jeśli nie musi. (Robi to automatycznie, jeśli to konieczne, ludzie piszący Firefoksa nie są głupi i nie zmusiliby cię do bezsensownego wciśnięcia dobrze ukrytego przełącznika tylko po to, aby sprawić, by wszystko działało lepiej.)
David Schwartz
4

Pierwszą rzeczą, o której podejrzewam, jest to, że niektóre wtyczki przeciekają pamięć lub często z niej korzystają.

Na przykład AdBlock Plus często powoduje znaczne zwiększenie zużycia pamięci przez Firefox. Powodem jest to, że wstrzykuje duże arkusze stylów do każdej ramki. (Ghostery to bardziej wydajna pod względem pamięci alternatywa, chociaż służy ona innym celom).

Tak więc, jak sugerowano w komentarzach, jeśli użycie pamięci nie wydaje się rozsądne, spróbuj wyłączyć wszystkie wtyczki i sprawdź, czy to pomoże.

Roman Boiko
źródło
1
@screener zasugerował alternatywę, która służy temu samemu celowi, co AdBlock, addons.mozilla.org/firefox/addon/ublock
Roman Boiko
Ta odpowiedź pokazuje, jak dowiedzieć się, które dodatki zajmują najwięcej pamięci: superuser.com/questions/5939/…
YetAnotherRandomUser
1

Jeśli potrzebujesz pamięci RAM do innych celów, po prostu uruchom ponownie Firefox. Zminimalizuje to również zużycie pamięci.

Możesz nawet powiedzieć Firefoxowi, że nie musi ładować wszystkich stron po ponownym uruchomieniu:

Firefox button -> Options -> Tabs -> Don't load tabs until selected

Zauważyłem również duże zużycie pamięci przez Adblock Plus. Wydaje się, że Adblock Edge nie ma tego problemu. Wyłączenie Adblock Plus zwalnia również pamięć.

Smile4ever
źródło
0

Pamięci RAM nie można zapisać na później. Jedyne, co możesz zrobić, to go użyć lub zmarnować. System z 8 GB pamięci RAM nie może dziś zużywać 4 GB, aby jutro użyć 12 GB.

Mówiąc najprościej, Firefox zużywa więcej pamięci, ponieważ alternatywą byłoby marnowanie tej pamięci. Nie wraca do poziomu początkowego, ponieważ wymagałoby to wysiłku i nie byłoby korzyści z jego wydatkowania.

Faktem jest, że firefox czasami używa do 2 GB pamięci, co nie wydaje się rozsądne ze względu na liczbę i zawartość otwartych kart.

Jest całkowicie rozsądne, jeśli alternatywą jest zmarnowanie części tej pamięci RAM i nie przechowywanie żadnych danych. Co najmniej pozwala Firefoksowi na użycie do 2 GB pamięci bez konieczności przydzielania dodatkowej pamięci, co jest zwycięstwem. Zwolnienie i przydzielenie pamięci wymaga wysiłku. Inteligentne systemy nakładają wysiłek tylko wtedy, gdy są oczekiwane korzyści. Z pewnością nie wykonują pracy, którą prawdopodobnie będą musieli później cofnąć.

Nowoczesne systemy operacyjne robią wszystko, aby mieć jak najmniej wolnej pamięci RAM. Wolna pamięć RAM jest marnowana na zawsze. Jeśli miałeś 1 GB za darmo przez ostatnią godzinę, nie zyskałeś żadnej korzyści z tego 1 GB w ciągu ostatniej godziny. Jeśli myślisz: „Chcę teraz tę pamięć RAM za darmo, abym mógł z niej później korzystać”, zapomnij. Możesz go użyć teraz, a później. Nie ma tu bolesnego kompromisu.

David Schwartz
źródło
7
Może rozpoczynamy filozoficzną rozmowę o tym, co jest przydatne. Z mojego punktu widzenia nie mogę używać pamięci przechowującej „możliwie przydatne informacje”, jak wspomniałeś, ponieważ jest ona przydzielana przez firefox. Więc mógłbym dostać komunikat o braku pamięci z innej aplikacji, z której korzystam.
Eypros
5
@DavidSchwartz: to kompletny nonsens. czym do diabła jest „bezpośrednie przejście pamięci”? jeśli brakuje pamięci, jedna aplikacja musi dać, aby inna mogła ją wziąć (alternatywą jest przerażająca zamiana ...). „Nowoczesne systemy operacyjne robią to bardzo wydajnie” - co robić ?? mogą pozbyć się stron kodu i biblioteki, ponieważ można je ponownie zmienić, mogą bawić się stronami z pamięcią podręczną FS, ale nie mogą zabrać zwykle używanej pamięci (np .: Firefox przechowuje zamkniętą kartę lub obrazy, aby można je było szybciej otworzyć ).
Karoly Horvath,
11
-1 z dokładnie tego samego powodu, co @KarolyHorvath. Na maszynie o pojemności 4 GB (która obecnie jest obecnie „mniej niż przeciętna”) FF zabiera 2,5 GB pamięci rezydentnej (jestem w systemie Linux) jest nieuzasadnione, ponieważ zabiera pamięć innym aplikacjom . Kiedy zamykam kilka kart, spodziewam się, że FF zwolni teraz nieużywaną pamięć, aby inne aplikacje lub samo jądro z tego powodu (które lubi agresywnie buforować, znacznie zwiększając ogólną wydajność) może z niego korzystać. To archetypowy spór programista / sysadmin, jeśli nie potrzebujesz już pamięci, zwolnij ją, nie jesteś sam w tym systemie.
MoonSweep
8
Głosuj za jednym z najgłupszych pomysłów: „Zmarnujmy pamięć ze strachu, że nie zostanie wykorzystana”
lemonsqueeze
7
Wygląda na to, że argumentujesz, że Firefox może przesadzać do 2 Gb, ponieważ pamięć ta jest po prostu zamieniana, więc inne programy nie mają takiej możliwości 2 Gb. To nieprawda. Większość z tych 2 Gb to brudne strony, które należy opróżnić. Na zewnątrz. Co więcej, kiedy Firefox zdecyduje się uruchomić zbieranie śmieci na tym crufcie, należy go ponownie umieścić na stronie: i stanie się to w losowej kolejności, która powoduje, że szuka się wszędzie na konwencjonalnym wirującym dysku twardym. Brak zapisywania 2 Gb na dysku i odczytywanie go jest znacznie wydajniejszy niż robienie tego.
Kaz