CH-J Server Managerpengurusan pelayan melalui SSH
Menu
Semua panduan dan artikel →

Cara membaca RAM, cache dan swap pada pelayan Linux

Maksud lajur dalam free, sebab penggunaan memori tinggi selalunya tidak bermasalah, dan tanda yang benar-benar menunjukkan kekurangan memori.

Baca available, bukannya free

Linux menggunakan memori yang belum digunakan sebagai cache cakera, jadi memori free yang rendah pada pelayan sihat ialah perkara biasa. Lajur available ialah anggaran kernel tentang jumlah memori yang boleh digunakan tugas baharu tanpa pemindahan ke swap. Itulah angka yang perlu dipantau. Pengiraan tepat used bergantung pada versi alat, jadi jangan bandingkannya antara sistem yang berbeza.

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

Bahagian cache yang boleh dan tidak boleh dilepaskan

Cache halaman biasanya boleh dilepaskan apabila aplikasi memerlukan memori. Memori kongsi dan tmpfs (Shmem) turut muncul dalam cache, tetapi tidak boleh dibuang begitu sahaja kerana mengandungi data yang tiada salinan pada cakera. Oleh itu, cache besar dengan memori available yang rendah sering menandakan tmpfs atau segmen memori kongsi yang besar.

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

swap yang digunakan tidak semestinya bermasalah

Pelayan boleh menyimpan halaman yang jarang digunakan dalam swap selama berminggu-minggu tanpa kesan buruk. Yang menjejaskan prestasi ialah pemindahan berterusan. Pantau lajur si dan so dalam vmstat: nilai yang kekal melebihi sifar bermakna sistem sedang aktif memindahkan halaman masuk dan keluar swap, tanda kekurangan memori sebenar.

swapon --show
vmstat 1 5

Cari apa yang menggunakan memori

Isih proses mengikut memori residen. RSS mengira halaman yang dikongsi antara proses dalam setiap proses tersebut, jadi nilai beberapa proses tidak boleh dijumlahkan begitu sahaja. Alat dengan PSS, seperti smem, memberikan jumlah yang lebih mewakili penggunaan sebenar jika dipasang.

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

Kenali kekurangan memori sebenar

Tandanya ialah memori available yang rendah, pemindahan swap berterusan dan proses yang ditamatkan oleh mekanisme out-of-memory killer. Semak log kernel. Jangan jalankan drop_caches untuk menjadikan angka kelihatan lebih baik: ia hanya menyebabkan pelayan membaca semula dari cakera dan tidak menyelesaikan apa-apa.

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

Memori dalam CH-J Server Manager

System Monitor membaca nilai ini melalui SSH. Pada Linux, used ditakrifkan sebagai MemTotal − MemFree − Buffers − Cached − SReclaimable, manakala available ialah anggaran kernel. Memori kongsi ialah sebahagian daripada Cached dan tidak boleh dilepaskan, dan kategori dalam bar tidak bertindih. Oleh sebab formulanya berbeza daripada sesetengah versi free, angkanya mungkin tidak sepadan tepat. Ia turut menunjukkan swap bersama sejarah penggunaannya. ZFS ARC tidak dikendalikan secara berasingan, jadi pada hos ZFS ia dikira sebagai memori yang digunakan.

Dokumentasi terperinci

man: free →

man: proc_meminfo →

Buka kunci biometrik dan keselamatan →