Mastodon
Zdjęcie okładkowe wpisu Jak to pamięć mi wycieka przez Safari

Jak to pamięć mi wycieka przez Safari

31
Dodane: 13 lat temu

Zidentyfikowałem wyciek pamięci u siebie w systemie. Jest nim Safari.

Nie jestem szczęśliwy, bo używam tej przeglądarki praktycznie od samego początku, jak tylko się pojawiła i byłem z niej zadowolony, a przede wszystkim przyzwyczajony. Jednak w Lionie coś się stało. Nie wiem czy to jest mój indywidualny problem, czy ma go więcej osób, ale nie mogę normalnie pracować.

Wcześniej, na Snow Leopardzie, nie miałem takich problemów. Miałem standardowo otwartych kilka okien, a w każdym z nich po kilka kart. Wszystko działało płynnie, system nie mulił się. Jednocześnie pracowałem na kilku innych programach.

Teraz, odkąd mam Liona i zainstalowane Safari 5.1, przy otwartym jednym oknie z 4-5 kartami system po prostu nie działa – jest kompletnie zamulony. Moim ulubionym programem stał się MemorySweeperPro, którego muszę co chwilę używać. Dlaczego? Bo okazuje się, że z moich 8GB RAM mam wolne…. >500MB. Dlaczego tak się dzieje? Jakieś pomysły?

Systemowy Monitor aktywności pokazuje, że Safari zabiera bardzo dużo z zasobów – przy wspomnianych 4 kartach jest to 2,5GB RAM. Dla porównania Firefox 6.0.1 przy otwartych dokładnie tych samych oknach pobiera 493MB, a Chrome około 300MB.

Cóż, przesiadam się póki co na Chrome. Zobaczymy na jak długo i czy w ogóle przyzwyczaję się. Póki co przy 9 kartach otwartych w Chrome mam 3,6GB wolnego RAMu, a system zupełnie inaczej działa…

Jestem ciekaw Waszych doświadczeń oraz czy macie jakiekolwiek podobne do moich problemy.

Dominik Łada

MacUser od 2001 roku, rowery, fotografia i dobra kuchnia. Redaktor naczelny iMagazine - @dominiklada

Zapraszamy do dalszej dyskusji na Mastodonie lub Twitterze .

Komentarze: 31

To samo pisze Przemek Marczyński. Ja na szczęście jeśli chodzi o Safari w Lionie nie mogę narzekać. Przy 20 otwartych zakładkach mam 3.6GB wolnego RAMu (posiadam w tej chwili 8GB) i żadnego zamulania Safari nie zauważyłem, poza 1 dniu po instalacji. Nie wiem czym to było spowodowane, ale wywaliłem 1 dodatek i sprawa ucichła. Zostaje przy Safari. Chrome mnie nie bawi. Mam na dysku w razie „W“ ale na razie używać nie zamierzam. Denerwuje mnie innych parę rzeczy w LION’ie, ale to nie dotyczy poruszanego tematu wiec nie będę się rozpisywać.

Polecam do Safari AdBlock oraz YouTube5 i ewentualnie ClickToFlash. To pierwsze jest bardzo przydatne i wpływa na zmniejszenie zużycia ramu przez Safari. Drugi z kolei – jeżeli siedzisz dużo na YouTube – odciąża Safari od ładowania flash jako oddzielnego procesu, którego potem nie może się pozbyć i siedzi już do końca. Ponadto ja mam 4GB i póki co Safari daje radę. Fakt czasami muszę ją zresetować, ale nie stanowi to jakiegoś wielkiego problemu. I co najlepsze Safari samo potrafi zwalniać pamięć bo są sytuacje, że mam wolnego ledwo 50MB, gdzie po paru chwilach – bez resetowania – wolnego ramu mam 4xxMB. 

PS: 500MB wolnej to przecież nie jest mało! Pamięć jest od tego by z niej korzystać. I nie polecam korzystać z wszelkich aplikacji do zwalania bo robią gorzej niż zakładamy. Lepiej po prostu resetować Safari – przynajmniej nie ucierpi na tym cały system i programy w tle, które potem mulą przez parę sekund by załadować zawartość, której się z kolei pozbyliśmy poprzez aplikacje. 

wtyczek nie mam prócz 1Password i Instapaper. Nie siedzę na YouTube. Generalnie jest to mega frustrująca sytuacja, bo przyzwyczajony do pracy w wielu oknach muszę mocno pilnować się aby nie zamulić komputera – o dziwo, od napisania tego tekstu (wczoraj) przez cały dzień korzystam z Chrome i wszystko, podkreślam WSZYSTKO, działa i nic nie muli. Z tego co widzę, a pracuję pierwszy raz na Chrome, to jest on bardzo szybki. Obserwuję Monitor Aktywności i jest bardzo przyzwoicie. Nie wiem dlaczego tak się dzieje z Safari, bo wcześniej tak nie było – nic nie instalowałem w między czasie w systemie.

Czyżby wszyscy mają Core 2 Duo? Na moim Maku z C2D też Lion muli i to z 8GB ramu i SSD Vertex 3. Gdzie się nie dotkniesz to skacze load procka. Jak leci w tle youtube to inne wykonywane czynności mulą, nawet scrollowanie w echofonie(twitter) to slajdy, zero płynności. Lion to nowy(nowoczesny, 2011) system(żadna nakładka na Snowa), Core 2 Duo to procek z 2006 roku. C2D mimo, że był udoskonalany do 2009 roku jako Penryn to nadal jest to procek z 2006 roku, tzw. odgrzewany kotlet. Dopiero arch Sandy Bridge sporo zmienia w arch. i wydajności. Więc coś tu chyba nie gra? procek z 2006 roku a system z 2011? Owszem Lion jest jeszcze z lekka zbugowany, ale kolejne wersje nie muszą oznaczać poprawy wydajności dla słabszego sprzętu.

Moim zdaniem 10.7.2 kompletnie nic nie poprawi w wydajności. Hardware(maki z C2D) pod Liona jest już za słaby. Nie sugerować się tym, że C2D ma 2,5 czy 3GHz, to już starocie procek. Ludzie za mocno przyzwyczaili się do C2D, nie chcą od niego odejść bo niby to dobry procek. On był dobry, ale kiedyś, 4 lata temu, nie teraz.
Co do zjadania ramu przy 4 tabach to nie musi byc wina przeglądarki, jakieś inne gówno na www np. flashowe może wcinać ram lub coś innego.

Mam C2D z 2009 roku, też mam 8GB i SSD….system odnoszę wrażenie, że działa szybciej, tylko to cholerne Safari. Jeśli to jest wina flasha, to dlaczego w jednym momencie jak mam odpalone dokładnie tyle samo okien i kart w Safari, Firefoxie i Chrome – tylko Safari obciąża mi system?

To postaram się pomóc odnośnie “wycieku pamięci w Safari 5.1”.

Jeśli się dokładnie przyjżycie statystykom aplikacji w Activity Monitorze to zobaczycie, że Safari teraz składa się z dwóch procesów: Safari i Safari Web Content. To co “zżera tyle ramu” to zazwyczaj Safari Web Content, jeśli RAM jest zużywany przez samo Safari to rzeczywiście jest wyciek.

Safari Web Content to nowy wynalazek w WebKit, który pozwala na dużo szybsze renderowanie stron. Jest to taki podręczny, siedzący w RAM, cache wszystkiego co przeglądacie w tej sesji (od startu Safari). Zajmuje to tyle pamięci, ponieważ wszystkie dane są już rozpakowane i gotowe do wyświetlenia. Tam zapewne też siedzą podglądy stron, których nowe safari używa przy otwieraniu poprzeniej/następnej strony (swipe left/right).

I teraz jedna wielka uwaga:
Jak to z każdym cache’m bywa: jest on przydatny, ale nie konieczny do działania. Z tego powodu w momencie, kiedy odpalicie inne aplikacje i Safari zauważy, że brakuje Wam RAMu cache będzie stopniowo opróżniany aż do absolutnego minimum. Nie są potrzebne żadne MemorySweepery. Zasada podobna jest do tej z iPhone’a – jeśli brakuje RAMu dla jednej aplikacji wszystkie inne dostają komunikat, że mają zwolnić pamięć poprzez usuwanie cache’u – dlatego Google Maps czasami pamięta “obrazki”, a czasami nie.

Sytuacja z Safari jest podobna, tyle, że Mac OS nie daje takiego komunikatu i Safari po prostu od czasu do czasu samo sprawdza ile jest wolnej pamięci. Jeśli jej brakuje to Safari Web Content zaczyna kasować “najmniej przydatne” dane.

Wniosek: nie przejmujcie się procesem “Safari Web Content”!

świetnie, super, tylko jak z tym żyć aby nie muliło gdzieś indziej? Można to jakoś wyłączyć? bo inaczej taka funkcjonalność nie ma racji bytu w wolniejszych komputerach

Cezary masz na myśli 5.1.1?  @DominoAqq:disqus Wywal ten program i zobacz jak będzie. Z doświadczenia wiem, ze takie wynalazki więcej szkodzą niż pomagają. Pamiętam jeszcze z czasów PC jak pojawił się Windows 95 i większość miała w komputerach 2 MB (tak MB nie GB) RAM lub 4 MB a zalecane było 8 MB do płynnego działania. Wtedy powstawały podobne wynalazki które nota bene nic nie dawały a jeszcze zabierały RAM bo w nim siedziały.

@DominoAqq:disqus Sorry, ze tak późno, ale bylem poza komputerem. Miałem na myśli wyrzucenie na probe ten MemorySweeper.

Wyrzuciłem i nie ma żadnej różnicy w wydajności. Monitor Aktywności pokazuje MemorySweeper jako 0% CPU, 3 wątki i 12MB RAM.

Pytanie do hardcoreowców Chrome – na ten moment brakuje mi kilku rzeczy z Safari:
1) gestów, 
2) skrótu CMD+ w 1Password, 
3) widoku Pure Reader dla Google Readera
4) trybu Readera w przeglądaniu stron www
Można temu jakoś zaradzić? Jakieś rady? Dodatki? Nie mogę znaleźć w tym sklepie chromowym.

Hmm, w Lion ukochane Safari chodzi inaczej, ale nadal jest piekielnie szybkie w porównaniu np. z Firefoksem.
Również mam 8GB RAM-u w MBP13. Przy otwartych standardowo 30-40 kartach (zawsze tylko 1 okno) dochodzi łącznie do 2 GB (łącznie bo w Lion rozbili proces na Safari i WebProcess). Korzystam z Click2Flash.

Natomiast aktualna wersja Firefox z otwartymi 4-5 kartami po pół dnia pracy potrafi zjeść 2GB i więcej pamięci. Po prostu z każdą minutą zabiera więcej. Tutaj mam AdBlock, ale również Firebug i kilka mniejszych rozszerzeń, które mogą robić problem.

Dziwne to wszystko. Ja mam u siebie odpalone:
1. Safari – 6 zakładek
2. Skype
3. Adium (4 konta)
4. Klienta SIP (jitsi)
5. Twitters
6. Reeder
7. Gmail przez Fluid
8. Facebook przez Fluid
9. Google+ prez Fluid
10. Jeszcze jedna apka przez Fluid
11. Activity Monitor
12. Windows 7 pod parallelsem
13. iTerm

Activity Monitor:
Swap used: 0
Used RAM: 5,6GB (z czego 2GB ma Windows 7) :)

Nie dość. ze mam C2D to jeszcze używam firefoxa i nie widzę żadnego zamulania systemu ani zawalenia ramu, ok, teraz mam dysk ssd,  to daje kopa, ale wcześniej miałem normalnego twardziela 7200 i też bylo OK. Zapomniałem :) : mam Liona 10.7.2.