CH-J Server Manageradministrasi server melalui SSH
Menu
Semua panduan dan artikel →

Cara membaca RAM, cache, dan swap pada server Linux

Arti kolom dalam free, mengapa penggunaan memori tinggi sering kali wajar, dan tanda yang benar-benar menunjukkan kekurangan memori.

Baca available, bukan free

Linux menggunakan memori yang tidak terpakai sebagai cache disk, sehingga memori free yang rendah pada server sehat adalah hal normal. Kolom available adalah perkiraan kernel tentang memori yang dapat digunakan pekerjaan baru tanpa melakukan swap. Angka itulah yang perlu dipantau. Perhitungan used yang tepat bergantung pada versi alat, jadi jangan membandingkannya antar sistem yang berbeda.

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

Bagian cache yang dapat dan tidak dapat dibebaskan

Cache halaman biasanya dapat dibebaskan saat aplikasi membutuhkan memori. Memori bersama dan tmpfs (Shmem) juga muncul dalam cache, tetapi tidak dapat dibuang begitu saja karena menyimpan data yang tidak memiliki salinan di disk. Karena itu, cache besar dengan memori available yang rendah sering menunjukkan tmpfs atau segmen memori bersama yang besar.

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

swap yang terpakai tidak otomatis berarti masalah

Server dapat menyimpan halaman yang jarang digunakan dalam swap selama berminggu-minggu tanpa masalah. Yang merugikan adalah perpindahan terus-menerus. Pantau kolom si dan so dalam vmstat: nilai yang terus berada di atas nol berarti sistem aktif melakukan swap, yang merupakan tanda kekurangan memori yang nyata.

swapon --show
vmstat 1 5

Temukan pemakai memori

Urutkan proses berdasarkan memori residen. RSS menghitung halaman yang dipakai bersama oleh beberapa proses pada setiap proses tersebut, sehingga nilai beberapa proses tidak dapat dijumlahkan begitu saja. Alat dengan PSS, seperti smem, memberikan jumlah yang lebih representatif jika terpasang.

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

Kenali kekurangan memori yang nyata

Tandanya adalah memori available yang rendah, aktivitas swap terus-menerus, dan proses yang dihentikan oleh mekanisme out-of-memory killer. Periksa log kernel. Jangan menjalankan drop_caches agar angkanya terlihat lebih baik: tindakan ini hanya membuat server membaca ulang dari disk dan tidak menyelesaikan masalah.

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

Memori di CH-J Server Manager

System Monitor membaca nilai ini melalui SSH. Di Linux, used dihitung sebagai MemTotal − MemFree − Buffers − Cached − SReclaimable, sedangkan available menggunakan perkiraan kernel. Memori bersama termasuk dalam Cached dan tidak dapat dibebaskan, serta kategori pada bilah tidak tumpang tindih. Karena rumusnya berbeda dari beberapa versi free, angkanya mungkin tidak sama persis. Alat ini juga menampilkan swap beserta riwayat penggunaannya. ZFS ARC tidak diperlakukan secara terpisah, sehingga pada host ZFS dihitung sebagai memori terpakai.

Dokumentasi terperinci

man: free →

man: proc_meminfo →

Buka kunci biometrik dan keamanan →