free

Wyświetla użycie pamięci RAM i swap.

free to mała, szybka komenda, która pokazuje, ile pamięci RAM i przestrzeni swap aktualnie zużywa twój system Linux: ile jest zajęte, ile wolne, ile w buforach i cache, a ile realnie dostępne dla nowych programów. To pierwsza rzecz, po którą sięgasz, gdy serwer zaczyna mulić albo gdy chcesz sprawdzić, czy proces nie zjada całej dostępnej pamięci. Dane czyta z /proc/meminfo, więc działa natychmiast i bez żadnych uprawnień roota.

Składnia i najważniejsze opcje

Podstawowa składnia jest banalnie prosta: free [opcje]. Bez żadnej opcji dostajesz tabelkę w kibibajtach. W praktyce prawie zawsze dorzucasz jedną z flag jednostek:

  • -h, --human — wyświetla wartości w czytelnej formie (np. 3,2Gi, 512Mi) zamiast surowych liczb.
  • -b / -k / -m / -g — wymusza jednostkę: bajty, kibibajty, mebibajty albo gibibajty.
  • --si — używa potęg 1000 (KB, MB, GB) zamiast 1024, czyli „marketingowych” gigabajtów.
  • -t, --total — dokłada wiersz Total sumujący RAM i swap razem.
  • -s N, --seconds N — odświeża widok co N sekund w pętli, aż wciśniesz Ctrl+C.
  • -c N, --count N — w trybie pętli wykonuje dokładnie N odświeżeń i kończy.
  • -w, --wide — szeroki układ, rozdziela kolumny buffers i cache zamiast je sumować.

Przykłady użycia

  • free -h — najczęstszy strzał: zajętość RAM i swap w ludzkich jednostkach, jedno spojrzenie i wiesz, co się dzieje.
  • free -m — wszystko w mebibajtach, wygodne, gdy porównujesz wartości albo wklejasz je do raportu.
  • free -h -s 2 — odświeża widok co 2 sekundy, idealne do obserwowania, jak pamięć rośnie podczas startu aplikacji.
  • free -h -s 1 -c 5 — pięć odczytów co sekundę i koniec, gdy chcesz krótką próbkę zamiast wiecznej pętli.
  • free -ht — czytelne jednostki plus wiersz z sumą RAM i swap, przydatne przy szybkim bilansie zasobów.

Częste błędy i pułapki

Największa pomyłka juniorów: panika na widok niskiej wartości w kolumnie free. Linux celowo trzyma nieużywaną pamięć w cache, żeby przyspieszyć odczyty plików. Patrz na kolumnę available — to ona mówi, ile RAM-u realnie dostaną nowe programy bez sięgania do swap. Kolumna free bywa mała i to jest normalne.

Druga pułapka to jednostki: stare wersje free domyślnie pokazywały kibibajty, a flaga --si przełącza na potęgi 1000, więc te same dane wyglądają na większe. Pamiętaj też, że kolumny buffers/cache łączą się domyślnie — żeby je rozdzielić, użyj -w. I nie myl tego: free tylko raportuje, niczego nie zwalnia ani nie czyści.

Powiązane komendy: top, htop, vmstat, cat /proc/meminfo, swapon, ps.