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:- Buka file
/etc/sysctl.conf
:sudo nano /etc/sysctl.conf
- Tambahkan baris berikut di bagian paling bawah:
vm.overcommit_memory = 1
- Simpan dan keluar:
- Tekan
Ctrl + O
laluEnter
- Tekan
Ctrl + X
untuk keluar
- Tekan
- 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.