• 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

Object Storage Arubacloud
0 głosów
878 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,078 wizyt
+1 głos
1 odpowiedź 369 wizyt
pytanie zadane 5 listopada 2015 w Systemy operacyjne, programy przez niezalogowany
0 głosów
2 odpowiedzi 607 wizyt
pytanie zadane 31 stycznia 2016 w C i C++ przez Widemo Użytkownik (920 p.)

92,551 zapytań

141,399 odpowiedzi

319,529 komentarzy

61,936 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...