podczas rozwiązywania problemów ze spowolnieniem systemu lub aplikacji lub niewłaściwym zachowaniem, jedną z pierwszych rzeczy do sprawdzenia jest użycie pamięci systemowej.
Ten artykuł wyjaśnia, jak sprawdzić użycie pamięci RAM w Linuksie przy użyciu kilku różnych poleceń.
darmowe polecenie #
free
jest najczęściej używanym poleceniem do sprawdzania wykorzystania pamięci w systemie Linux. Wyświetla informacje o całkowitej, używanej i wolnej pamięci.
Ogólnie rzecz biorąc, free
jest wywoływany z opcją -h
, która oznacza, że wydrukuj wyjście w formacie czytelnym dla człowieka:
free -h
total used free shared buff/cache availableMem: 3936 1087 252 130 2596 2427Swap: 0 0 0
oto, co każdy kolumna średnia:
- Total-całkowita ilość pamięci, która może być użyta przez aplikacje.
- used-używana pamięć. Jest ona obliczana jako:
used = total - free - buffers - cache
- free – wolna / nieużywana pamięć.
- shared-ta kolumna może być ignorowana; jest wyświetlana tylko dla wstecznej zgodności.
- buff / cache – łączona pamięć używana przez bufory jądra oraz pamięć podręczną strony i płyty. Pamięć ta może być odzyskana w dowolnym momencie w razie potrzeby przez aplikacje.
- available-oszacowanie pamięci, która jest dostępna do uruchamiania nowych aplikacji, bez wymiany.
poleceniefree
wypisuje informacje dla pamięci fizycznej i wymiany systemu.
Top Command #
top
jest narzędziem wiersza poleceń, które wyświetla informacje w czasie rzeczywistym o uruchomionych procesach. Pokazuje również podsumowanie systemu, w tym zużycie pamięci.
aby wywołać polecenie wystarczy wpisać top
:
free -h
wynik będzie wyglądał mniej więcej tak:
nagłówek wyjścia zawiera informacje o całkowitej, wolnej i używanej pamięci fizycznej i pamięci wymiany systemu.
kolumna %MEM
zawiera informacje o używanym udziale dostępnej pamięci fizycznej dla każdego uruchomionego procesu.
/proc/meminfo #
najprostszym sposobem sprawdzenia użycia pamięci RAM jest wyświetlenie zawartości Wirtualnego pliku/proc/meminfo
. Ten plik jest używany przezfree
top
I inne polecenia informacyjne systemu.
użyjless
lubcat
, aby wyświetlić zawartość pliku/proc/meminfo
:
cat /proc/meminfo
plik zawiera dużą ilość informacji o pamięci systemowej i wykorzystaniu wymiany:
MemTotal: 4030592 kBMemFree: 401804 kBMemAvailable: 2507504 kB...
informacje z pliku/proc/meminfo
mogą być przetwarzane i używane w skryptach powłoki.
Ps_mem Script #
ps_mem
jest skryptem Pythona, który raportuje zużycie pamięci RAM dla poszczególnych programów. Działa zarówno z Pythonem 2, jak i 3 i może być zainstalowany z pip
:
sudo pip3 install ps_mem
uruchamianie ps_mem
wymaga uprawnień administratora:
sudo ps_mem
wyjście będzie zawierać użycie pamięci każdego uruchomionego programu w kolejności rosnącej:
Private + Shared = RAM usedProgram... 11.9 MiB + 20.2 MiB = 32.1 MiBnginx (4) 8.2 MiB + 42.4 MiB = 50.6 MiBsystemd-journald 55.8 MiB + 307.2 MiB = 363.0 MiBphp-fpm7.4 (6)233.9 MiB + 234.0 MiB = 467.9 MiBredis-server578.2 MiB + 578.6 MiB = 1.1 GiBmysqld--------------------------------- 2.2 GiB=================================
Ten skrypt jest przydatny, gdy chcesz dowiedzieć się, który uruchomiony program zajmuje większość pamięci systemowej.
podsumowanie #
pokazaliśmy ci kilka poleceń, których możesz użyć do sprawdzenia użycia pamięci systemowej.