Catatan Saya di Kasus Ini
Beberapa catatan sebelum mengikuti tutorial ini
-
Saya menggunakan Rocky linux. Kasus ini kemungkinan bisa terjadi di semua Redhat based OS (Redhat, CentOS, Rocky, Alma, dll)
-
Kenapa Rocky? Alasan utama nya karena hanya OS Redhat based yang menggunakan XFS di cloud provider saya. Sesuai dengan rekomendasi dari dokumentasi mongodb, disarankan menggunakan XFS untuk performa optimal . Kenapa ga CentOS? CentOS stream ga stabil, sekalian aja saya nyoba Rocky.
-
VPS saya punya 16 GB RAM dan service mongod hampir menggunakan seluruh kapasitas RAM hingga sering mengakibatkan service mongod mati bahkan merusak replica-set!
-
Saya sudah batasi penggunaan memory di mongo config (/etc/mongod.conf) tapi ga ngaruh sama sekali
storage:
wiredTiger:
engineConfig:
cacheSizeGB: 13
-
SELinux dalam kondisi disable
-
Sudah config mongodb log rotate
-
Menggunakan MongoDB CE versi 5.xx
Cara yang Benar-Benar Bisa Limit Memory Service Mongod
Cara ini saya dapat dari percona blog - using cgroups to limit mysql & mongodb , langsung ya ikutin tutorialnya
- Install paket Cgroups
yum -y install libcgroup libcgroup-tools
systemctl start cgconfig #start service cgroups
systemctl enable cgconfig #enable cgroups at boot
- Buat control group DBLimitedGroup
cgcreate -g memory:DBLimitedGroup
- Limit pengunaan memory DBLimitedGroup. Untuk VPS saya yang punya RAM 16GB, saya kasih aman saja 13GB.
echo 13G > /sys/fs/cgroup/memory/DBLimitedGroup/memory.limit_in_bytes

Otomatis ke Konversi ke Bytes
- Clear cache mongod
sync; echo 3 > /proc/sys/vm/drop_caches
- Masukan process ID mongod ke group DBLimitedGroup
#`pidof mongod` was used to get mongod process ID
cgclassify -g memory:DBLimitedGroup `pidof mongod`
- Reboot VPS
Cara Lain Untuk Mengurangi Memory Usage
-
Disable mongo log
# where to write logging data. systemLog: destination: file logAppend: true #change to /dev/null path: /dev/null
Restart your mongo after change this value
Sumber:
percona blog - using cgroups to limit mysql & mongodb

Jika kamu merasa tulisan ini bermanfaat & membantu kamu, kamu bisa berdonasi lewat saweria
If you feel this website help you, you can donate at saweria