Programem służącym do wyświetlenia ilości wolnej i zajętej pamięci RAM w systemie Linux jest
A. lzma
B. tar
C. compress
D. free
Program free jest właściwym narzędziem do sprawdzania ilości wolnej i zajętej pamięci RAM w systemie Linux. To polecenie pokazuje m.in. pamięć całkowitą, używaną, wolną, pamięć współdzieloną, bufory, cache oraz przestrzeń swap. W praktyce najczęściej używa się go jako free -h, bo opcja -h wyświetla wartości w czytelnych jednostkach, np. MiB albo GiB. Przy diagnostyce serwera albo zwykłego komputera warto patrzeć szczególnie na kolumnę available, bo Linux intensywnie wykorzystuje wolną pamięć jako cache dyskowy i sama kolumna free może czasem mylić. Moim zdaniem to jedno z tych poleceń, które administrator powinien znać odruchowo, tak jak df -h do miejsca na dysku. free pobiera dane z mechanizmów jądra, m.in. z /proc/meminfo, więc jest szybkie i nie wymaga dodatkowej konfiguracji. W dobrych praktykach diagnostycznych często zestawia się jego wynik z poleceniami top, htop albo vmstat, żeby ocenić nie tylko ilość RAM, ale też obciążenie procesora, swapowanie i ogólną kondycję systemu.
W tym pytaniu łatwo pomylić narzędzia związane z plikami z narzędziami diagnostycznymi systemu. compress, lzma i tar nie służą do wyświetlania stanu pamięci RAM. Ich przeznaczenie dotyczy archiwizacji albo kompresji danych na dysku, czyli pracy z plikami, a nie monitorowania zasobów operacyjnych komputera. compress to starsze uniksowe narzędzie kompresujące, kojarzone zwykle z plikami o rozszerzeniu .Z. lzma jest związane z algorytmem kompresji danych, podobnie jak xz czy gzip. tar natomiast tworzy archiwa, czyli potrafi zebrać wiele plików i katalogów do jednego pliku archiwum; samo tar historycznie nawet nie musi kompresować danych, tylko je pakuje. Częsty błąd myślowy polega na tym, że skoro kompresja zmniejsza rozmiar plików, to ktoś zaczyna ją kojarzyć z odzyskiwaniem pamięci. Tyle że chodzi tu o miejsce na nośniku danych, a nie o pamięć RAM używaną przez procesy. RAM jest pamięcią operacyjną, ulotną, wykorzystywaną podczas działania programów, natomiast pliki skompresowane leżą na dysku lub innym nośniku. Do sprawdzania RAM w Linuksie używa się free, ewentualnie także top, htop, vmstat lub odczytu /proc/meminfo. Z mojego doświadczenia dobra praktyka jest taka: jeśli diagnozujesz wydajność systemu, najpierw rozdzielasz problemy z pamięcią operacyjną, procesorem, dyskiem i siecią. Wtedy nie mieszasz narzędzi archiwizacyjnych z narzędziami monitoringu systemowego, i dużo szybciej dochodzisz do sensownych wniosków.