Linux

Jak sprawdzić RAM w Linuxie? free, cache i pamięć procesu

Linux pokazuje mało wolnego RAM? Wyjaśniamy available, cache, swap oraz sprawdzanie procesów. Jak rozpoznać realny problem z pamięcią.

KRÓTKA ODPOWIEDŹ

W Linuxie niskie free nie oznacza automatycznie braku pamięci. Patrz na available, użycie swap, objawy aplikacji i ewentualne zdarzenia OOM. Cache może wykorzystywać RAM, który system odda na inne potrzeby.

Odczytaj free bez paniki

bash
free -h

Available jest przybliżeniem pamięci możliwej do udostępnienia nowym aplikacjom bez swapowania. Buff/cache obejmuje pamięć używaną na buforowanie i cache. Nie traktuj wszystkich zajętych gigabajtów jako wycieku. Pusty RAM nie jest celem administracji — istotne jest to, czy usługi mogą działać bez niepotrzebnych opóźnień.

Porównaj odczyt z momentem, kiedy problem występuje. Zrzut z rana niczego nie rozstrzyga, jeśli wieczorem działa import sklepu lub generowanie mapy gry. Zapisuj dane w czasie, najlepiej razem z informacją o zadaniach aplikacji.

Znajdź procesy i rozumiej ograniczenia wyniku

bash
ps -eo pid,comm,rss --sort=-rss | head -n 12
vmstat 1 5

RSS w ps jest zwykle podawane w KiB. Pokazuje pamięć rezydentną procesu, ale proste zsumowanie RSS wszystkich procesów może podwójnie liczyć współdzielone obszary. Dla dokładniejszej analizy przydają się metryki proporcjonalne i narzędzia właściwe dla aplikacji.

Vmstat pokazuje m.in. aktywność pamięci i swap. Pierwsza linia nie zawsze reprezentuje tylko ostatnią sekundę; zwracaj uwagę na kolejne próbki. Jednorazowe użycie swap nie jest dowodem katastrofy, ale ciągły intensywny ruch może towarzyszyć niedoborowi RAM.

Jak wygląda rzeczywisty problem?

Objawy to gwałtowne spowolnienie, częste intensywne swapowanie, przerwane zadania lub proces zakończony przez OOM killer. Sprawdź logi systemowe, zwłaszcza komunikaty jądra w czasie awarii. Odróżnij limit całego serwera od limitu kontenera lub jednostki systemd.

Kontener może mieć mały limit pamięci, mimo że host ma duży zapas. Widok free wewnątrz kontenera nie zawsze pokazuje efektywny limit aplikacji w sposób, którego oczekujesz. Sprawdź konfigurację kontenera i metryki jego użycia. Przy Java uwzględnij pamięć poza stertą; Xmx nie jest limitem całego procesu.

Co zrobić zamiast opróżniania cache?

Nie wykonuj regularnego drop_caches jako „optymalizacji”. System ponownie odczyta potrzebne dane z dysku, co może spowolnić aplikację. Poszukaj zmiany, która zwiększyła użycie: nowa wtyczka, więcej workerów, duży import, błędna pętla lub zwiększony limit cache.

Zmniejsz równoległość kosztownych zadań, skoryguj konfigurację albo zwiększ zasoby po pomiarze. Swap może pomóc przetrwać krótkie skoki, lecz nie zastąpi RAM przy długotrwałym obciążeniu. Hosting czy VPS pomoże ocenić, kto ma zarządzać tym środowiskiem.

Jak dobrać pamięć przy zmianie pakietu

Zapisz normalne użycie, szczyt oraz czas jego trwania. Dodaj zapas dla aktualizacji i zadań, które mogą działać równocześnie. Nie kupuj dwukrotnie większego pakietu tylko dlatego, że free pokazuje niewiele wolnego. Jeśli porównujesz VPS Castpol, sprawdź zasoby konkretnej oferty i wymagania swoich usług.

Źródła i dokumentacja

Dokumentacja do dalszej weryfikacji ustawień i wymagań swojej wersji.

c.
Castpol Blog

Poradnik wydawany przez Castpol. O blogu · Zgłoś poprawkę

KOLEJNY KROK

Te poradniki uzupełniają temat