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/nullRestart 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
