Safari zużywa zbyt dużo pamięci RAM. Jak mogę zmniejszyć zużycie pamięci?

12

Uważam, że Safari (najnowsza - wersja 5.0.2) jest jeszcze bardziej zapatrzona w pamięć niż zwykle. (Obecnie używa 465 MB pamięci RAM przy otwartej tylko tej karcie, ale działała przez jakiś czas)

Zamknięcie go i ponowne otwarcie obniża zużycie pamięci, ale z czasem zawsze wraca do normy.

Oprócz wyłączania rozszerzeń, masz jakieś wskazówki, które pomogą rozwiązać problemy / zmniejszyć zużycie pamięci? Korzystam z ClickToFlash, który pomaga, wymagając ręcznego włączenia dowolnego elementu Flash w każdym widoku strony.

Josh Newman
źródło

Odpowiedzi:

10

Wygląda więc na to, że Flash jest nadal głównym winowajcą - jeśli włączysz Flash w ClickToFlash, pozostanie on w pamięci.

Zgodnie z radą Grubera na temat Daring Fireball całkowicie wyłączyłem Flasha we wszystkich przeglądarkach oprócz Chrome i wydaje się, że to ogromnie pomogło

Josh Newman
źródło
5
Flash to świnia, ale mam około 10 kart (łącznie) otwartych w trzech oknach Safari, a moja ma około 780 MB. Nie mam Flasha. ;) Safari lubi pamięć RAM.
Martin Marconcini,
2
Idź za darmo, a użycie pamięci spadnie. Stamtąd możesz zobaczyć, które wtyczki alokują pamięć, ale w praktyce - pamięć flash naprawdę pochłania pamięć RAM.
bmike
2

To tylko fakt z życia za pomocą Safari. Poświęć trochę czasu na przeglądanie Flickr, a jego użycie pamięci znacznie przekroczy Gig. Gmail to kolejny zabójca. Myślę, że Safari najbardziej agresywnie buforuje pamięć, aby przyspieszyć.

Henz
źródło
2

Nie ma nic złego w wyłączaniu lampy błyskowej, ale główną zaletą jest mniejsze zużycie procesora, a nie tylko zużycie pamięci (chociaż wspaniale jest widzieć, że wyłączenie go zmniejszyło ślad Safari).

Nie sądzę, że powinieneś martwić się tym, co robi Safari z pamięcią z kilku powodów:

Safari 5 to aplikacja 64-bitowa , w której Firefox i Google Chrome mają tylko 32- bitową wersję (przynajmniej publiczne wersje Maca). Jest to istotne, ponieważ 64-bitowe aplikacje wydają się zużywać więcej pamięci podczas działania (zespół Growl wyjaśnia to lepiej niż ja tutaj ).

Jeśli masz wolną pamięć , którą system operacyjny (i Safari) może szybko, bezpiecznie i łatwo zwolnić (mówiąc jako programista), dlaczego nie wykorzystać jej do buforowania zawartości sieci - po to jest. Zaufaj swojemu systemowi operacyjnemu - jest sprytny, jeśli inna aplikacja potrzebuje pamięci, po prostu wypuści niepotrzebne obecnie bity.

Safari ma również nieuczciwą przewagę - jest dziełem tej samej firmy, która zbudowała Twój komputer. Nie twierdzę, że Safari jest nieomylne, ani nawet, że jest najlepszą przeglądarką, tylko dlatego, że nie powinieneś przesadzać ze statystykami; pamięć jest do wykorzystania, a jeśli nie ma to negatywnego wpływu na wrażenia z pracy z komputerem, nie stresuj się.

glenstorey
źródło
4
Ale wpływa to na moje wrażenia z pracy z komputerem. Mój komputer zaczyna się czołgać, gdy Safari zużywa dużo pamięci i zwykle muszę go wyłączyć lub uruchomić ponownie.
Josh Newman,
Smród! To jest do bani. Naprawdę lubię safari i nie mam tego problemu, ale zauważam, że zajmuje dużo miejsca w pamięci. Co powiesz na chrom? Nadal używa webkit do renderowania stron.
glenstorey,
1
@glenstorey: Zgadzam się z Joshem, ponieważ zrobiłem to samo: przynajmniej gdy moja dostępna fizyczna pamięć RAM spadnie do <100 MB (łącznie 3 GB) w systemie operacyjnym 10.6.8, ma to ogromny wpływ na temat mojego doświadczenia z komputerem: długo kręciłem piłkę plażową itp. ... A Safari wydaje się być aplikacją, która naprawdę potrzebuje dużo pamięci RAM, szczególnie w przypadku flasha
MostlyHarmless
2

Używając Safari 5.0.5, wyłączyłem flash i działając w Sunspider 0.91 widzę prawdziwy wzrost memu do ponad 1,73 GB na 4GB Mac mini (2010), a procesor ponad 100%. Działa tak wolno, że nie kończy się w ciągu 10 minut.

Uruchamiając to samo w Firefoksie 5.0 (także 64-bitowym) otrzymuję 500 MB rzeczywistej pamięci 90% procesora, a proces ten kończy się w czasie krótszym niż 30 sekund (i zgłasza 300 ms jako wynik ... sprytnie!).

Więc moja odpowiedź brzmi ... przestań korzystać z safari na lampartach śnieżnych i przejdź do Firefoksa 5.0.

TheOtherGeoff
źródło
0

Możesz wyłączyć pamięć podręczną na pasku narzędzi programisty (prawy przycisk myszy -> sprawdź element), zakładka „sieć” po prawej stronie otwartego panelu. Po najechaniu wskaźnikiem na element pojawia się komunikat „Wyłącz / Ignoruj ​​buforowane zasoby podczas ładowania zasobu”. Gdy jest czerwony, aksamitna pamięć podręczna jest dezaktywowana, a zużycie pamięci jest znacznie niższe.

Musisz również opróżnić pamięć podręczną, aktywując tryb programisty, otwórz menu „programista” -> „pusta pamięć podręczna”, a zobaczysz ogromny spadek ilości pamięci RAM zużywanej przez Safari.

Istnieje również inny główny czynnik spadku wydajności: pamięć wirtualna (plik wymiany). Jeśli proces zacznie go intensywnie używać (WindowServer), zobaczysz ogromny spadek wydajności komputera, ponieważ dostęp do odczytu / zapisu na dysku jest zmonopolizowany przez te procesy, pozostawiając niewiele miejsca dla innych procesów na operacje dostępu do dysku.

Podejrzewam, że Catalina ma w tym względzie problem, ponieważ zauważyłem ogromny spadek wydajności po aktualizacji z powodu nadmiernego zużycia pamięci wirtualnej, sięgającej nawet 250Mo / s dostępu do zapisu i 200 MB / s dostępu do odczytu dla dysku SSD.

Możesz spróbować wyłączyć pamięć wirtualną, jeśli (i tylko jeśli) masz wystarczającą ilość pamięci RAM (> = 16 GB) za pomocą tego polecenia:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Jeśli po tym wystąpią problemy, takie jak nagła samoświadomość, która powoduje brak odpowiedzi komputera Mac lub nadmierne użycie pamięci RAM, włącz ponownie pamięć wirtualną, używając:

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Stephane Piriou
źródło