POMOCY!! Linux zjadł mi RAM!

Co się dzieje?

Linux pożycza sobie nieużywaną pamięć jako cache dysku. To stwarza złudzenie, że system zużywa dużo pamięci. To tylko złudzenie! Wszystko jest w porządku!

Dlaczego się tak dzieje?

Cache’owanie dysku sprawia, że system działa dużo szybciej! Nie ma wad, poza tym, że jest to mylące dla początkujących. W żadnym wypadku nie zabiera pamięci aplikacjom!

Co jeśli chcę włączyć więcej aplikacji?

Jeśli Twoje aplikacje potrzebują więcej pamięci, po prostu odbierają jej część, którą wcześniej zajął cache dysku. Ten cache może być w każdej chwili oddany aplikacjom. Wcale nie kończy Ci się RAM!

Czy potrzebuję więcej swapa?

Nie, cache dysku tylko pożycza pamięć, której aplikacje w danym momencie nie potrzebują, ten proces nigdy nie będzie używał pamięci swap (to byłoby po prostu głupie…).

Jak powstrzymać system od robienia tego?

Nie możesz tego zatrzymać. Jedynym powodem, dla którego ktokolwiek chciałby zatrzymać ten proces jest to, że myślą, że cache dysku zabiera pamięć z ich aplikacji, a tego nie robi! Cache dysku przyśpiesza start aplikacji i powoduje, że działają płynniej, ale NIGDY, PRZENIGDY nie zabiera im pamięci. Nie ma więc żadnego powodu by wyłączać ten proces!

Dlaczego `top` i `free` mówią, że moja pamięć jest zajęta kiedy nie jest?

Jest to po prostu nieporozumienie w definicji pojęć. Ty i system, zgadzacie się, że pamięć zajęta to ta, której używa aplikacja, podczas gdy pamięć wolna, to ta, która nie jest używana do niczego.

Jednak jak nazwiesz pamięć, która jest jednocześnie zajęta i dostępna dla aplikacji?

Nazwałbyś ją raczej wolną, ale Linux nazywa ją zajętą.

Pamięć, która jest: Ty nazwiesz ją Linux nazwie ją
Zajęta przez aplikacje Używana Używana
Dostępna dla aplikacji, ale używana przez coś innego Wolna Używana
Nieużywana Wolna Wolna

To „coś” jest tym, co `top` i `free` nazywają „buffers” i „cached”. Skoro Twoja terminologia różni się od terminologii Linuxa, Ty myślisz, że masz mało pamięci.

Jak sprawdzić ile pamięci mam w rzeczywistości?

By zobaczyć ile RAMu jest zajęte przez Twoje aplikacje, uruchom `free -m’ i spójrz na rząd, który jest opisany „-/+ buffers/cache” w kolumnie „free”. To jest odpowiedź na pytanie, podana w megabajtach .

agilob@Asus-PC ~ $ free -m
            total  used free shared buffers cached
Mem:         3890  3704  186      0     144   2123
-/+ buffers/cache: 1436 2454
Swap:        3812  5    3807

Jeśli nie wiesz jak czytać te liczby, wciąż będziesz myślał, że masz zajęte 95% pamięci, gdy w rzeczywistości masz zajęte 63%

 Artykuł opublikowany i przetłumaczony za zgodą autora. źródło.

[Total: 0    Average: 0/5]