Linux mengelola memori menggunakan kombinasi RAM (Random Access Memory) dan Swap.
Swap adalah ruang pada disk (partition atau file) yang digunakan ketika RAM tidak cukup.
Dengan swap, sistem tetap bisa berjalan walaupun memori fisik penuh, meskipun performa menurun karena disk lebih lambat dibanding RAM.
RAM (Physical Memory)
Digunakan untuk menjalankan proses, cache, buffer.
Swap Space
Area pada disk yang digunakan sebagai "cadangan" RAM.
Page Cache & Buffer
Linux menggunakan sebagian RAM untuk caching agar akses lebih cepat.
OOM Killer (Out of Memory Killer)
Jika RAM + Swap habis, Linux akan menghentikan proses tertentu untuk membebaskan memori.
Ukuran swap tergantung pada RAM dan kebutuhan sistem.
⚠️ Jika ingin menggunakan hibernasi, swap harus ≥ RAM.
Biasanya sudah dibuat saat instalasi Linux.
Cek swap aktif:
swapon --show
free -h
Jika tidak ada swap partition, buat swap file:
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
Tambahkan ke /etc/fstab
agar permanen:
/swapfile none swap sw 0 0
Swappiness menentukan seberapa agresif kernel menggunakan swap.
Nilai 0 = hindari swap, 100 = gunakan swap lebih sering.
Cek nilai saat ini:
cat /proc/sys/vm/swappiness
Set nilai sementara (misalnya 10):
sudo sysctl vm.swappiness=10
Agar permanen, edit /etc/sysctl.conf
:
vm.swappiness=10
Mengontrol seberapa cepat kernel membersihkan cache.
Default: 100
(lebih agresif).
Biasanya diturunkan ke 50
untuk performa yang lebih baik.
sudo sysctl vm.vfs_cache_pressure=50
✅ Gunakan swap meskipun RAM besar, minimal 4–8 GB untuk keamanan.
✅ Gunakan SSD untuk swap agar performa lebih baik (jika memungkinkan).
✅ Sesuaikan swappiness
→ Server database biasanya 10
, Desktop 60
.
✅ Monitor penggunaan swap dengan htop
, vmstat
, free -h
.
✅ Jangan hanya mengandalkan swap untuk workload berat, lebih baik tambah RAM.
✅ Pisahkan swap pada disk cepat untuk mengurangi bottleneck.
✅ Gunakan Zswap atau ZRAM untuk sistem dengan RAM kecil (kompresi memori).
Swap adalah mekanisme penting dalam Linux memory management untuk menjaga stabilitas sistem ketika RAM penuh.
Dengan konfigurasi yang tepat (ukuran swap, swappiness, cache pressure), sistem dapat lebih optimal dalam mengelola memori, mencegah crash, dan menjaga performa.