Spustíte volný -h na serveru a ve sloupci uvolnit
Abyste zjistili, zda počítači skutečně chybí paměť, nejprve se podívejte k dispozici, poté swap a aktivita paměti v čase. Jedna hodnota nestačí. Zde je metoda, kterou používám před zastavením služby nebo přidáním paměti RAM.

Začněte s `free -h` a sloupcem `available`
volný -h
Možnost -h automaticky vybere čitelnou jednotku, například MiB nebo GiB. Na řádku pamZačněte s těmito třemi sloupci:
celkovýznámá použitelná paměť jádra;k dispoziciodhadovaná paměť, kterou může nový proces získat bez nutnosti swapu;uvolnit
je obecně užitečnější než uvolnitJádro ví, jak uvolnit část mezipaměti a obnovitelných struktur. Stroj s 300 MiB v uvolnit ale 4 GiB v k dispozici nedochází mu RAM.
Sloupce uvolnit použitý se počítá z celkový k dispoziciNejedná se tedy o přesný součet paměti RSS všech procesů.
sdílenépoužívá paměť hlavně tím,tmpfs;nárazníkyskrytýbuff/mezipaměťseskupuje vyrovnávací paměti a mezipaměť do standardního zobrazení.
K oddělení A skrytýPoužijte širokoúhlý displej:
volný -w -h
Tento pohled pomáhá pochopit alokaci, ale nemění diagnózu: otázkou zůstává, kolik paměti lze obnovit bez swapu a zda se tato rezerva trvale sníží.
Proč Linux zaplňuje RAM mezipamětí
Nevymazávat mezipaměti pomocí drop_caches uměle zvednout páteř uvolnitMažete užitečnou mezipaměť a nutíte systém znovu načíst data. Tato operace se používá hlavně pro kontrolované testování, nikoli pro běžnou údržbu serveru.
Zdroj hodnot si můžete ověřit v /proc/meminfo :
grep -E '^(CelkemPaměti|VolnáPaměť|DostupnáPaměť|VyrovnávacíPaměť|UloženoVMezipaměti|UvolnitelnáPaměť|CelkemProSwap|VolnáProSwap):' /proc/meminfo
MemAvailable je odhad vytvořený jádrem. Zohledňuje volnou paměť a část obnovitelných mezipamětí, bez předpokladu, že lze celou mezipaměť obnovit okamžitě.
Vyberte jednotky a prohlédněte si několik vzorků
Pro porovnání více strojů nebo pro naplnění odečtu ponechte pevnou jednotku. -m zobrazuje mebibajty. Pro desetinné jednotky přidejte --li :
volný -m
volný -h --si
Také se vyhněte vyvozování závěrů z jediného izolovaného záběru. uvolnit může opakovat odečet každé dvě sekundy a zastavit se po pěti měřeních:
volný -h -s 2 -c 5
Podívejte se, jestli k dispozici
Křížové odkazování na RAM pomocí swapu a vmstatu
Linka Vyměňte z uvolnit Indikuje jeho obsazenost, ale ne aktivitu. Několik gigabajtů dlouho používaných dat nedokazuje, že stroj stále vyměňuje stránky. Vypište aktivní oblasti a poté je pozorujte. -li A tak s vmstat :
swapon --ukázat
vmstat 1 5
V vmstatPrvní řádek pro okamžitou aktivitu ignorujte: představuje průměry od začátku. Následující řádky zobrazují vzorky. Opakované hodnoty v -li Nebo spojené s a k dispozici Nízké využití paměti a zpomalení naznačují skutečný tlak na paměť.
Průvodce po swap pod Linuxem vysvětluje, kdy je jeho použití normální a proč jeho vymazání bez paměti RAM může zamrznout počítač.
Najděte procesy, které skutečně spotřebovávají paměť
Pokud indikátory potvrzují napětí, identifikujte procesy předtím, než podniknete kroky:
ps -eo pid,uživatel,komunikace,%mem,rss --sort=-rss | hlavička
htop
RSS Toto měří rezidentní fyzickou paměť procesu, ale některé stránky mohou být sdíleny mezi více procesy. Sečtení všech hodnot RSS proto může nadhodnotit skutečnou spotřebu. Použijte tento seznam k identifikaci potenciálního zákazníka a poté zkontrolujte službu, její konfiguraci a protokoly.
V htopSeřadit podle paměti, načíst PID a název služby a poté zkontrolovat její stav:
stav systemctl příslušná služba --no-pager
journalctl -u service-concerne -n 100 --no-pager
Neukončujte první proces na začátku seznamu. Databáze často používá RAM jako mezipaměť aplikace a může respektovat její konfiguraci. Nejprve zkontrolujte, zda je spotřeba RAM stabilní, očekávaná a uvolněná při poklesu zátěže.
Kdy dojít k závěru, že je skutečný nedostatek RAM
k dispozici zůstává velmi nízká, vmstat ukazuje opakované výměny, doba odezvy se snižuje a jádro nakonec signalizuje chybu OOM.
journalctl -k -b | grep -Ei 'nedostatek paměti|oom-killer|ukončený proces'
dmesg -T | grep -Ei 'nedostatek paměti|oom-killer|ukončený proces'
V tomto případě opravte příčinu: nesprávně nastavený limit paměti, únik služeb, nadměrné zatížení nebo nedostatečná velikost. Odkládací prostor přidejte pouze jako bezpečnostní síť, nikoli jako náhradu za trvale nasycenou RAM. Zdarma manuálová stránka dokumentuje výpočty svých sloupců, zatímco proc_meminfo(5) popisuje čítače poskytované jádrem.