Mengatasi Peringatan Redis: vm.overcommit_memory Harus Diaktifkan

Mengatasi Peringatan Redis: vm.overcommit_memory Harus Diaktifkan

Ketika kamu menjalankan Redis, khususnya di dalam container Docker, mungkin akan menjumpai peringatan seperti berikut:
WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition...
Peringatan ini bukan error fatal, tetapi sangat penting untuk ditangani, terutama jika Redis digunakan di lingkungan produksi.

๐Ÿ” Apa Itu vm.overcommit_memory?

vm.overcommit_memory adalah parameter kernel Linux yang mengatur bagaimana sistem menangani permintaan alokasi memori yang besar. Nilai ini memengaruhi apakah Redis bisa berhasil melakukan operasi seperti BGSAVE atau replication, bahkan saat sistem tampak memiliki cukup memori.

Nilai yang Mungkin:

  • 0 โ†’ Default (heuristik Linux, tidak disarankan oleh Redis)
  • 1 โ†’ Selalu izinkan alokasi (โœ… Disarankan oleh Redis)
  • 2 โ†’ Hanya izinkan jika ada cukup swap atau memori bebas

โœ… Cara Mengatasi Peringatan Ini

๐Ÿ”ง Solusi Sementara (Langsung Berlaku)

Jika kamu hanya ingin segera menghilangkan peringatan ini (namun akan hilang setelah reboot), cukup jalankan perintah berikut:
sudo sysctl vm.overcommit_memory=1

๐Ÿ’พ Solusi Permanen (Berlaku Setelah Reboot)

Untuk membuat pengaturan ini bertahan setelah reboot, kamu perlu menambahkan pengaturan ke file konfigurasi sistem:
  1. Buka file /etc/sysctl.conf:
    sudo nano /etc/sysctl.conf
    
  2. Tambahkan baris berikut di bagian paling bawah:
    vm.overcommit_memory = 1
    
  3. Simpan dan keluar:
    • Tekan Ctrl + O lalu Enter
    • Tekan Ctrl + X untuk keluar
  4. Terapkan perubahan:
    sudo sysctl -p
    

๐Ÿ” Verifikasi

Untuk memastikan perubahan berhasil, jalankan:
cat /proc/sys/vm/overcommit_memory
Jika output-nya adalah 1, maka Redis sudah bisa berjalan optimal tanpa peringatan tersebut.

โš ๏ธ Catatan Penting

  • Jalankan pengaturan ini di host Linux, bukan di dalam container Redis.
  • Ini sangat penting jika kamu menjalankan Redis di VM, VPS, atau server berbasis Docker seperti Ubuntu, Oracle Cloud, atau VMware.

Dengan menerapkan langkah ini, kamu akan menghindari kegagalan operasi penting Redis dan memastikan layanan berjalan lebih stabil. Cocok untuk kamu yang menjalankan Redis sebagai bagian dari sistem penting seperti N8N, Node.js, atau aplikasi berbasis queue.
Scroll to Top