CH-J Server Managerpamamahala ng server sa pamamagitan ng SSH
Menu
Lahat ng gabay at artikulo →

Paano basahin ang RAM, cache at swap sa Linux server

Ano ang ibig sabihin ng mga column sa free, bakit madalas na ayos lang ang mataas na paggamit ng memory, at aling mga palatandaan ang talagang nagpapakita ng kakulangan sa memory.

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/meminfo

Ano 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 -15

Hindi 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 5

Hanapin 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 -15

Kilalanin 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.

Detalyadong dokumentasyon

man: free →

man: proc_meminfo →

Biometric na pag-unlock at seguridad →