• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[Ubuntu 14.04] Swap nie zwalnia pamięci

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
1,193 wizyt
pytanie zadane 28 czerwca 2016 w Systemy operacyjne, programy przez Linker Bywalec (2,690 p.)
Witam. Zauważyłem problem z działaniem mojego Ubuntu. Partycja swap nie zmniejsza używanej pamięci po wyłączeniu programów, gdy ram jest używany w kilku-kilkunastu %. Moim zdaniem chyba tak nie powinno być. Mam nadzieję, że ktoś tu pomoże, bo przeglądałem internet i nie znalazłem odpowiedzi. Pozdrawiam.

2 odpowiedzi

0 głosów
odpowiedź 28 czerwca 2016 przez DL TD Nałogowiec (36,710 p.)
Z tego co mi wiadomo to swap używany jest przez system gdy ram jest już wykorzystany i trzeba wspomóc system dodatkową pamięcią.
komentarz 28 czerwca 2016 przez Linker Bywalec (2,690 p.)
To i ja wiem ;) ale właśnie w tym problem, że jak już wyłączę programy które biorą dużo ramu i i zużycie go jest na poziomie kilku % to swap dalej jest na poziomie którym był wcześniej.
1
komentarz 28 czerwca 2016 przez Zapffe Użytkownik (880 p.)
Sprecyzuj, bo trudno się zorientować czy chodzi Ci o użycie swapa, czy ogólny rozmiar swapa, najlepiej to napisz jakim sposobem sprawdzasz i podaj wynik, to wtedy nie będzie wątpliwości.
komentarz 28 czerwca 2016 przez DL TD Nałogowiec (36,710 p.)
Czyli na jakim poziomie? Zgadzam się z @Zapffe napisz coś więcej, daj jakieś screeny itp.
komentarz 29 czerwca 2016 przez Linker Bywalec (2,690 p.)

Chodzi mi o użycie swapa oto screeny z topa i conky:

 

0 głosów
odpowiedź 29 czerwca 2016 przez Zapffe Użytkownik (880 p.)

Pamięć RAM przez system jest wykorzystywana nie tylko do przechowywania programów i ich danych, ale także jako pamięć podręczna, duża część pamięci nie wykorzystywanej przez programy zostaje przeznaczona właśnie na pamięć podręczną - potrafi to znacznie przyśpieszyć działanie systemu.

"Wolna pamięć" przez różne programy może być różnie interpretowana, jedne będą wliczać tą pamięć podręczną, a inne nie, właściwie nie powinna ona być brana pod uwagę, ponieważ w każdej chwili może zostać zwolniona. Generalnie "free" odnosi się do wolnej pamięci uwzględniając wykorzystanie na rzec pamięci podręcznej, a "available" nie uwzględniając jej (dlatego available zawsze będzie większe niż free).

System zawsze będzie starał się "mądrze" zarządzać pamięcią i dlatego w pierwszej kolejności będzie starał się przenosić do swapa dane, które aktualnie nie są wykorzystywane (nie są ani odczytywane ani zapisywane), m.in. na rzecz właśnie pamięci podręcznej - dlatego może zaistnieć sytuacja, w której niby jest wolna pamięć RAM (choć rzeczywiście jest wykorzystywana jako pamięć podręczna), a jednak wykorzystywany jest też swap.

Dane z swapa znajdują się na dysku, więc logiczne jest, że odczytywanie ich będzie tak samo czasochłonne jak zwykłe odczytywanie danych z dysku, więc system może zadecydować, że jeśli z tych danych się nie korzysta to zostawi je już w tym swapie i nie będzie ich przenosił do RAMu.

Nie wiem czy screeny robiłeś w tym samym momencie, ale widać w topie, że praktycznie cała pamięć jest wykorzystana, natomiast conky pokazuję wolną pamięć RAM, więc prawdopodobnie nie uwzględnia pamięci podręcznej.

tl;dr - nie masz się czym martwić, system ma prawdopodobnie powód czemu zarządza pamięcią tak, a nie inaczej.

Jeżeli naprawdę chcesz to zmienić to możesz zmienić wartość parametru "swappiness", odpowiada on za tendencję do korzystania z swapa zamiast pamięci. Przyjmuje wartość od 0 do 100, gdzie przy wartości 0 będzie unikał korzystania z swapa tak długo, jak będzie to możliwe. Domyślnie jest ustawione na 60, możesz to sprawdzić za pomocą polecenia

cat /proc/sys/vm/swappiness

jeśli chcesz to zmienić to edytujesz po prostu plik /etc/sysctl.conf i ustawiasz tam parametr vm.swappiness. Jeśli go nie ma to po prostu dodaj go na końcu pliku, np:

vm.swappiness=10

 

komentarz 29 czerwca 2016 przez Linker Bywalec (2,690 p.)
Czyli reasumując nie ma co się martwić tym, że swap jest tak używany. Dzięki. :)

"Swappiness" jeszcze kiedyś ustawiłem na 25.

Podobne pytania

0 głosów
2 odpowiedzi 1,197 wizyt
+1 głos
1 odpowiedź 448 wizyt
pytanie zadane 5 listopada 2015 w Systemy operacyjne, programy przez niezalogowany
0 głosów
2 odpowiedzi 780 wizyt
pytanie zadane 31 stycznia 2016 w C i C++ przez Widemo Użytkownik (920 p.)

93,443 zapytań

142,436 odpowiedzi

322,693 komentarzy

62,805 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...