antond.net

0 %
Anton Darmawanto
Front-end Developer
Ui/UX Designer
  • Residence:
    Indonesia
  • City:
    Jakarta Selatan
  • Age:
    40
Indonesian
English
Jawa
html
CSS
Js
PHP
WordPress
Proxmox
Laravel
Linux server (ubuntu, debian, fedora)
Alibaba Cloud
  • Proxmox, Vm Ware
  • Stylus, Sass, Less
  • Gulp, Webpack, Grunt
  • GIT knowledge
0

No products in the cart.

Return To Shop

Cara Mengatasi Swap Memory Penuh di VPS Linux: Identifikasi Proses, Cara Flush Aman, dan Optimasi Swappiness

11/11/2026

Ketika sedang memantau kesehatan server VPS Linux (baik yang menjalankan Ubuntu, Debian, maupun AlmaLinux), Anda mendadak melihat indikator mencemaskan pada perintah free -m atau dashboard monitoring: kapasitas memori Swap terisi penuh hingga 90 atau 100 persen, sementara beban I/O disk melonjak tinggi dan respons website atau API terasa sangat lambat (sluggish).

Banyak pengelola server pemula langsung mengambil jalan pintas dengan melakukan reboot paksa pada VPS. Meskipun reboot mengosongkan kembali memori untuk sementara, cara ini bukanlah solusi permanen. Dalam beberapa jam ke depan, swap memory akan kembali penuh, dan risiko kegagalan layanan kritis seperti MySQL atau Nginx akan terulang lagi.

Fenomena di mana sistem operasi terus-menerus memindahkan data bolak-balik antara RAM fisik dan disk penyimpanan dikenal sebagai swap thrashing. Karena kecepatan baca-tulis disk (bahkan pada SSD NVMe sekalipun) jauh lebih lambat daripada kecepatan chip RAM fisik, server akan mengalami hambatan performa yang parah.

Artikel panduan teknis ini akan menunjukkan cara mengatasi swap memory penuh VPS Linux secara sistematis: mulai dari melacak proses apa yang rakus mengonsumsi swap, cara melakukan flush memori secara aman tanpa me-restart server, hingga menyetel parameter kernel vm.swappiness agar server bekerja optimal.

Ilustrasi 1 Cara Mengatasi Swap Memory Penuh di VPS Linux: Identifikasi Proses, Cara Flush Aman, dan Optimasi Swappiness
Ilustrasi 1 Cara Mengatasi Swap Memory Penuh di VPS Linux: Identifikasi Proses, Cara Flush Aman, dan Optimasi Swappiness

Langkah 1: Periksa Status Alokasi Memori Server

Langkah pertama adalah melihat seberapa parah kondisi pemakaian memori di peladen Anda:

  • Buka terminal SSH dan hubungkan diri Anda ke VPS sebagai pengguna root atau sudo.
  • Jalankan perintah ringkas berikut:
  • “`bash
  • free -h
  • “`
  • Perhatikan baris bertuliskan Mem dan Swap. Jika nilai kolom used pada baris Swap hampir menyamai nilai kolom total, berarti sistem Anda sedang bekerja keras menampung kelebihan beban RAM di dalam ruang swap.
  • Anda juga bisa menggunakan perintah interaktif top atau htop untuk memantau pemakaian memori secara real-time.

Langkah 2: Lacak Proses yang Memakan Swap Terbanyak

Sebelum menghapus data di swap, Anda wajib mengetahui program atau layanan mana yang menjadi biang kerok utama:

  • Jalankan perintah baris tunggal (bash one-liner) berikut di terminal Anda untuk menyortir proses berdasarkan konsumsi swap:
  • “`bash
  • for file in /proc/*/status; do awk ‘/VmSwap|Name/{printf $2 ” ” $3}END{print “”}’ “$file” 2>/dev/null; done | grep kB | sort -k 2 -n -r | head -n 10
  • “`
  • Perintah di atas membaca berkas status setiap proses di direktori /proc dan menampilkan sepuluh proses teratas pemakan swap terbesar.
  • Umumnya, Anda akan melihat proses seperti mysqld, php-fpm, java, atau perayap bot yang menempati urutan teratas.
  • Jika proses tersebut adalah layanan yang sudah lama tidak aktif atau skrip latar belakang yang macet (hung script), Anda dapat mematikannya secara aman menggunakan perintah kill -9 <PID>.
Ilustrasi 2 Cara Mengatasi Swap Memory Penuh di VPS Linux: Identifikasi Proses, Cara Flush Aman, dan Optimasi Swappiness
Ilustrasi 2 Cara Mengatasi Swap Memory Penuh di VPS Linux: Identifikasi Proses, Cara Flush Aman, dan Optimasi Swappiness

Langkah 3: Bersihkan dan Flush Swap Tanpa Me-Restart VPS

Jika RAM fisik server Anda sudah memiliki ruang kosong yang cukup (misalnya setelah Anda mematikan skrip yang macet atau merestart layanan web), Anda dapat memindahkan kembali data dari disk swap ke RAM fisik secara instan tanpa mengganggu koneksi pengguna:

  • Pastikan jumlah RAM fisik yang kosong (free memory) lebih besar daripada jumlah swap yang sedang terpakai. Ini krusial: jika sisa RAM fisik lebih kecil dari ukuran swap yang ingin dikosongkan, kernel Linux akan memicu mekanisme Out-of-Memory Killer (OOM Killer) yang bisa mematikan database Anda!
  • Jika ruang RAM fisik sudah aman, jalankan perintah pengalihan berikut:
  • “`bash
  • sudo swapoff -a && sudo swapon -a
  • “`
  • Perintah swapoff -a akan mematikan partisi swap dan memindahkan seluruh datanya kembali ke RAM fisik. Setelah kosong, perintah swapon -a akan langsung mengaktifkan kembali partisi swap dalam kondisi bersih nol persen.
  • Jalankan kembali perintah free -h untuk memastikan kolom swap used sudah kembali menjadi 0B.

Berikut tabel acuan nilai parameter swappiness kernel Linux dan rekomendasinya untuk server produksi:

Nilai vm.swappinessKarakteristik Perilaku KernelRekomendasi Penggunaan
0Hindari pemakaian swap kecuali RAM benar-benar habis totalServer database dengan latensi sangat rendah
10Agresif mempertahankan proses di RAM fisik, swap hanya cadanganSangat ideal untuk web server VPS dan VPS hosting
30Keseimbangan moderat antara RAM dan cache diskServer aplikasi multi-fungsi
60Nilai default standar distribusi Linux (terlalu agresif di VPS)Komputer desktop dan laptop harian
100Kernel sangat aktif menukar halaman memori ke diskTidak disarankan untuk VPS produksi
Ilustrasi 3 Cara Mengatasi Swap Memory Penuh di VPS Linux: Identifikasi Proses, Cara Flush Aman, dan Optimasi Swappiness
Ilustrasi 3 Cara Mengatasi Swap Memory Penuh di VPS Linux: Identifikasi Proses, Cara Flush Aman, dan Optimasi Swappiness

Langkah 4: Optimalkan Parameter Kernel vm.swappiness

Secara default, sebagian besar instalasi Ubuntu dan Debian menyetel nilai vm.swappiness ke angka 60. Nilai ini dirancang untuk komputer desktop, bukan untuk server web berbasis VPS. Angka 60 membuat kernel terlalu cepat memindahkan proses ke disk bahkan ketika RAM fisik masih tersisa banyak.

Untuk VPS web server, nilai ideal yang disarankan adalah 10 (atau 1 untuk server database berat):

  • Cek nilai swappiness saat ini dengan perintah:
  • “`bash
  • cat /proc/sys/vm/swappiness
  • “`
  • Ubah nilai swappiness sementara menjadi 10:
  • “`bash
  • sudo sysctl vm.swappiness=10
  • “`
  • Agar pengaturan ini bertahan permanen dan tidak hilang saat VPS di-reboot di kemudian hari, buka berkas konfigurasi kernel:
  • “`bash
  • sudo nano /etc/sysctl.conf
  • “`
  • Gulir ke baris paling bawah, lalu tambahkan baris berikut:
  • “`text
  • vm.swappiness=10
  • vm.vfs_cache_pressure=50
  • “`
  • Simpan perubahan dengan menekan tombol Ctrl + O, lalu keluar dengan Ctrl + X.
  • Terapkan konfigurasi baru tanpa reboot dengan menjalankan:
  • “`bash
  • sudo sysctl -p
  • “`

Parameter vfs_cache_pressure=50 membantu kernel mempertahankan cache berkas sistem di memori lebih lama, sehingga server tidak perlu sering mengakses disk yang lambat.

Dengan menerapkan penelusuran proses boros memori, metode flush swap yang aman, dan optimasi nilai swappiness yang tepat, performa VPS Linux Anda akan tetap gesit, stabil, dan terhindar dari kelambatan sistem yang merugikan operasional bisnis Anda.

Posted in Tutorial