CH-J Server Managerserverihaldus üle SSH
Menüü
Kõik juhendid ja artiklid →

Kuidas tõlgendada Linuxi serveri RAM-i, vahemälu ja swap kasutust

Mida tähendavad käsu free veerud, miks suur mälukasutus on sageli normaalne ning millised märgid viitavad päriselt mälupuudusele.

Vaata veergu available, mitte free

Linux kasutab muidu kasutuseta mälu kettavahemäluna, nii et vähene vaba mälu on korras serveris normaalne. Veerg available on tuuma hinnang sellele, kui palju mälu uued tööd ilma swap kasutamiseta saavad. Jälgida tuleb just seda arvu. Veeru used täpne arvutus sõltub tööriista versioonist, seega ära võrdle seda eri süsteemide vahel.

free -h
grep -E 'MemAvailable|Shmem:|SReclaimable' /proc/meminfo

Mida saab ja mida ei saa vahemälust vabastada

Lehekülgede vahemälu saab tavaliselt vabastada, kui rakendused mälu vajavad. Ka jagatud mälu ja tmpfs (Shmem) kuvatakse vahemälu all, kuid neid ei saa lihtsalt kõrvale heita, sest need sisaldavad andmeid, millel pole kettal koopiat. Suur vahemälu koos vähese saadaoleva mäluga tähendab seetõttu sageli suurt tmpfs-i või jagatud mälu segmenti.

df -h -t tmpfs
sudo slabtop -o | head -15

swap kasutamine ei tähenda automaatselt probleemi

Server võib hoida harva kasutatavaid lehekülgi swap-alal nädalaid ilma kahjuliku mõjuta. Probleeme tekitab pidev liigutamine. Jälgi vmstat veerge si ja so: püsivalt nullist suuremad väärtused tähendavad, et süsteem liigutab aktiivselt lehekülgi RAM-i ja swap vahel, mis viitab tegelikule mälupuudusele.

swapon --show
vmstat 1 5

Leia, mis mälu kasutab

Sordi protsessid residentse mälu järgi. RSS arvestab protsesside vahel jagatud lehekülgi iga protsessi juures, seega ei saa mitme protsessi väärtusi lihtsalt kokku liita. PSS-i toetavad tööriistad, näiteks smem, annavad õiglasema summa, kui need on paigaldatud.

ps -eo pid,user,rss,comm --sort=-rss | head -15

Tunne ära tegelik mälupuudus

Märgid on vähene saadaolev mälu, pidev liigutamine RAM-i ja swap vahel ning protsessid, mille mälupuuduse korral rakenduv out-of-memory killer lõpetab. Kontrolli tuuma logi. Ära käivita drop_caches lihtsalt ilusamate arvude saamiseks: see sunnib serverit vaid uuesti kettalt lugema ega lahenda midagi.

sudo journalctl -k --no-pager | grep -iE 'out of memory|oom-kill'

Mälu rakenduses CH-J Server Manager

System Monitor loeb neid väärtusi SSH kaudu. Linuxis määratleb see used väärtuseks MemTotal − MemFree − Buffers − Cached − SReclaimable ning available väärtuseks tuuma hinnangu. Jagatud mälu kuulub Cached hulka ja seda ei saa vabastada; riba kategooriad ei kattu. Kuna valem erineb mõne free versiooni omast, ei pruugi arvud täpselt ühtida. See näitab ka swap kasutust koos kasutusajalooga. ZFS ARC-d ei käsitleta eraldi, seega loetakse see ZFS-iga hostides kasutatud mäluks.

Üksikasjalikud dokumendid

man: free →

man: proc_meminfo →

Biomeetriline lahtipääs ja turvalisus →