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/meminfoMida 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 -15swap 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 5Leia, 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 -15Tunne ä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.