Dlaczego pamięć podręczna w mojej pamięci jest zawsze pełna?

13

Mam 6 GB pamięci RAM, procesor i5 2.4GHZ z systemem Ubuntu 11.10. Podzieliłem HD na partycje, aby mieć 8 GB wymiany.

Podczas przesyłania strumieniowego online lub otwierania kilku kart w Chromium wkrótce mam 4 GB pamięci w pamięci podręcznej. I myślę, że to spowalnia mój notatnik. Podczas przesyłania strumieniowego wideo po kilku minutach naprawdę spowalnia i potyka się.

Jaki może być problem? Jak mogę to rozwiązać?

PS: początkowo miałem 4 GB, a ostatnio zaktualizowałem do 6 GB, ale nie zauważyłem znaczącej zmiany.

PPS: free -gw terminalu drukuje to:

               total       used       free     shared    buffers     cached
Mem:             5          2          3          0          0          0
-/+ buffers/cache:          1          4
Swap:            8          0          8
Tobiasz
źródło
Co rozumiesz przez „pamięć podręczną RAM” i jak powiedzieć, że się zapełnia?
Sergey,
Czy możesz uruchomić free -g(w terminalu), gdy wystąpi problem i dołączyć wynik polecenia w swoim pytaniu.
Portablejim,
Na górnym panelu mam aplet, który graficznie wskazuje użycie pamięci RAM i procesora. Po kliknięciu wyświetla się komunikat: „Pamięć: pamięć podręczna 2 GB 4 GB”
Tobias,
1
free -gmówi, że masz 3 GB wolnej pamięci RAM. Pamięć to nie twój problem!
am
Ok, wielkie dzięki za wyjaśnienie tego, ale może dlatego, że w tym momencie nie transmitowałem strumieniowo online? Właśnie uruchomiłem chrom.
Tobias

Odpowiedzi:

13

Buforowanie danych jest RAM powinien dokonać rzeczy szybciej, nie wolniej - pobieranie rzeczy wielokrotnie z dysku, gdy masz nieużywaną pamięć jest po prostu głupie. Jeśli jednak rozlejesz się w przestrzeń wymiany, wpłynie to na wydajność. Możesz łatwo stwierdzić, czy używasz wymiany, uruchamiając System Monitor. Jeśli wykres wymiany przestrzeni nie rośnie w momencie rozpoczęcia problemu, problem nie jest związany z pamięcią.

Oczywiście, gdy przesyłasz strumieniowo wideo, zostanie ono zapisane w pamięci podręcznej, ale wypełnienie 6 GB zajmuje całkiem sporo! Spodziewałbym się, że pobranie tak dużej ilości danych zajmie więcej niż kilka minut, a znacznie więcej spowoduje problem!

Czy na pewno coś innego nie stanowi problemu? Może chłodzenie? Wiele notebooków ma nadmiernie zaawansowane procesory w porównaniu do systemu chłodzenia. Jest to dobre - zapewnia wysoką wydajność szczytową, dobre dla dużego ruchu, przy jednoczesnym utrzymaniu niskiej masy - ale nie może utrzymać wydajności przez długi czas, zanim będzie zmuszony cofnąć częstotliwość zegara lub stopić. Wideo może być dość obciążające procesor, więc nigdy nie wiesz?

Tak czy inaczej, powinieneś być w stanie zobaczyć na podstawie użycia pamięci, czy to zamiana, czy nie. Jeśli tak, to jest to problem z oprogramowaniem i można je naprawić. :)

ams
źródło
Używam tylko 1,8% SWAP. Chłodzenie nie stanowi problemu, ponieważ mam podkładkę chłodzącą z dwoma wentylatorami. Wiem, że wideo wymaga intensywnego procesora, ale czterordzeniowy procesor i5 2,4 GHz i 6 GB pamięci RAM powinny zdecydowanie wystarczyć do płynnego przesyłania strumieniowego.
Tobias
1,8% wymiany sugeruje mi, że twoim problemem nie jest to, że zabrakło ci pamięci RAM. Zgadzam się, dopóki twój procesor nie będzie dławiony, powinien być w stanie wykonać zadanie.
AMS
Ok, a może sama przeglądarka?
Tobias
Dziękuję za odpowiedzi. Spróbuję użyć innej przeglądarki i dam znać, jeśli problem będzie się powtarzał. Jeszcze raz dziękuję, byłeś bardzo pomocny i miły, naprawdę to doceniam!
Tobias
11

Mam ten sam problem, wygląda na to, że pamięć podręczna nigdy nie została zwolniona ... Jednym z przykładów było to, kiedy sprawdziłem repozytorium i skończyłem z pamięcią podręczną 4 GB

Przykład:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          7949       7425        523          0        112       4433
-/+ buffers/cache:       2879       5069
Swap:         7627          2       7625

To, co zrobiłem, było uruchomienie kodu poniżej (komentarze są po to, abyś wiedział, co się dzieje), możesz utworzyć skrypt, abyś mógł go uruchomić, gdy jest potrzebny:

# To free pagecache:
#         echo 1 > /proc/sys/vm/drop_caches
# To free dentries and inodes:
#         echo 2 > /proc/sys/vm/drop_caches
# To free pagecache, dentries and inodes:
#         echo 3 > /proc/sys/vm/drop_caches
sudo sync && sudo sysctl -w vm.drop_caches=3

Po uruchomieniu powyższego kodu:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          7949       2820       5129          0          2        407
-/+ buffers/cache:       2409       5539
Swap:         7627          2       7625
Carlo
źródło
4
To nie jest problem, tak działa pamięć podręczna stron. Będzie utrzymywać pamięć podręczną tak długo, jak to możliwe, ale automatycznie zwolni elementy, gdy wzrośnie presja pamięci z innych aplikacji. Ręczne czyszczenie nie jest konieczne.
Cesium
5
Może tak być, ale w takim przypadku algorytm nie jest tak dobry. Dlaczego miałbym mieć więcej niż 4 GB pamięci podręcznej i zacząć używać wymiany?
Carlo,
Na ten temat podoba mi się ten artykuł: link
Carlo,
1
W moim obecnym przypadku sprawdzam ogromne repozytorium i wszystkie pliki są buforowane, dopóki nie zapełni pamięci, gdy tam zacznie się zamieniać zamiast zwalniać pamięć podręczną ...
Carlo
Kiedyś interesowałem się rozwojem jądra. Jestem pewien, że wciąż jest to „z założenia”. Jeśli jądro podejrzewa, że ​​część pliku będzie łatwiej dostępna wkrótce niż jakieś anonimowe dane, zamieni dane anonowe i utrzyma pamięć podręczną strony. To, czy podejmuje właściwą decyzję, jest oczywiście innym pytaniem :)
Steve Dee
0

Moją sugestią byłoby uruchomienie dowolnego eksploratora procesów (na przykład Monitora systemu) i sprawdzenie, ile proces zużywa tak dużo pamięci. opublikuj tutaj, a my zobaczymy, czy możesz to wyłączyć.

ps. ok, rozumiem teraz. Założę się, że „pojemnik z wtyczkami” rośnie z czasem ze względu na sposób wykorzystania pamięci. Chyba dlatego, że to port z systemu Gill Bates;). Zabicie go nie pomoże (zabijając go, rozbijesz wszystkie animacje na każdej stronie, głównie reklamy, ale także filmy z Youtube). Ponadto sam Chromium uwielbia wzdęcia z czasem, więc jedynym sposobem na poradzenie sobie z nim byłoby prawdopodobnie ponowne uruchomienie go od czasu do czasu. Sprawdź, czy to pomaga ...

Adam Kroczyk
źródło
Rzeczywiście, kiedy ponownie uruchamiam przeglądarkę, streaming znów działa płynnie, ale tylko przez 10 minut. Następnie muszę ponownie uruchomić przeglądarkę.
Tobias
Sposoby stosowane: Chrom 250 MB chromu 214 MB chromu 150 MB Compiz 119 MB Zeitgeist-demon 111 MB, chromu 70 MB, EXE 24% CPU i 60 MB, Rhythmbox 50 MB Ubuntu One-syndaemon 26MB itp ..
Tobias
Obawiam się, że problem może być spowodowany przez samą przeglądarkę. Zastanów się nad przejściem na Firefoksa lub dowolny inny, według opinii użytkowników w Internecie Chromium zużywa około 3 razy więcej pamięci niż jakakolwiek inna przeglądarka „pierwszej linii”. Spróbuj. Zainstaluj, otwórz tę samą liczbę zakładek i porównaj ...
Adam Kroczyk,
Zrobię to dp. Bardzo dziękuję za sugestię. wszystkiego najlepszego
Tobias