Basahin ang available, hindi ang free
Ginagamit ng Linux bilang disk cache ang memory na hindi pa ginagamit, kaya normal ang mababang free memory sa isang maayos na server. Ang available column ay pagtataya ng kernel kung gaano karaming memory ang magagamit ng bagong gawain nang hindi kailangang maglipat sa swap. Iyon ang numerong dapat bantayan. Nakasalalay sa bersiyon ng tool ang eksaktong pagkalkula ng used, kaya huwag itong ihambing sa magkakaibang sistema.
free -h
grep -E 'MemAvailable|Shmem:|SReclaimable' /proc/meminfoAno ang kayang at hindi kayang palayain ng cache
Karaniwang maaaring palayain ang page cache kapag kailangan ng mga application ng memory. Kasama rin sa cache ang shared memory at tmpfs (Shmem), ngunit hindi basta maaaring alisin ang mga ito dahil may hawak silang data na walang kopya sa disk. Kaya ang malaking cache na may mababang available memory ay madalas nangangahulugan ng malaking tmpfs o shared memory segment.
df -h -t tmpfs
sudo slabtop -o | head -15Hindi awtomatikong problema ang nagagamit na swap
Maaaring magtago ang server ng mga bihirang gamiting page sa swap nang ilang linggo nang walang masamang epekto. Ang nakasasama ay ang tuloy-tuloy na paglilipat. Bantayan ang mga column na si at so sa vmstat: ang mga halagang nananatiling higit sa zero ay nangangahulugang aktibong naglilipat ang sistema papasok at palabas ng swap, na palatandaan ng tunay na kakulangan.
swapon --show
vmstat 1 5Hanapin kung ano ang gumagamit ng memory
Ayusin ang mga proseso ayon sa resident memory. Binibilang ng RSS ang mga page na pinagsasaluhan ng mga proseso sa bawat isa sa mga prosesong iyon, kaya hindi basta maaaring pagsamahin ang mga halaga ng maraming proseso. Mas makatwirang kabuuan ang ibinibigay ng mga tool na may PSS, gaya ng smem, kung naka-install ang mga ito.
ps -eo pid,user,rss,comm --sort=-rss | head -15Kilalanin ang tunay na kakulangan
Ang mga palatandaan ay mababang available memory, tuloy-tuloy na paglilipat sa swap, at mga prosesong pinapatay ng out-of-memory killer. Suriin ang kernel log. Huwag patakbuhin ang drop_caches para lamang gumanda ang mga numero: pinababasa lang nitong muli ang server mula sa disk at wala itong nilulutas.
sudo journalctl -k --no-pager | grep -iE 'out of memory|oom-kill'Memory sa CH-J Server Manager
Binabasa ng System Monitor ang mga halagang ito sa pamamagitan ng SSH. Sa Linux, itinatakda nito ang used bilang MemTotal − MemFree − Buffers − Cached − SReclaimable, at ang available bilang pagtataya ng kernel. Bahagi ng Cached ang shared memory at hindi ito maaaring palayain, at hindi nagsasapawan ang mga kategorya sa bar. Dahil naiiba ang formula sa ilang bersiyon ng free, maaaring hindi eksaktong magkatugma ang mga numero. Ipinapakita rin nito ang swap kasama ang kasaysayan ng paggamit. Hindi hiwalay na tinatrato ang ZFS ARC, kaya sa mga ZFS host ay binibilang ito bilang nagamit na memory.