Bagaimana cara menetapkan ulimit untuk mongod
proses / pengguna di CentOS?
Saya sudah membaca dokumentasi resmi tetapi tidak memberikan instruksi khusus OS.
Saya perlu mengatur
ulimit -u 64000
dan membutuhkan ini untuk bertahan setelah reboot.Saya menjalankan CentOS 5.5 meskipun akan segera ditingkatkan menjadi 6.5.
Saya lebih suka tidak memodifikasi skrip apa pun yang diinstal oleh manajer paket
cat /proc/{pid}/limits
tidak menunjukkan perubahan. Apakah ada hal tambahan yang perlu dilakukan untuk memastikan conf dibaca?Versi yang lebih baru dari skrip startup mongod CentOS (/etc/init.d/mongod) memiliki pengaturan default yang dibangun ke dalam opsi mulai:
Jika Anda ingin mengubah nilai dan tidak memodifikasi skrip, salin skrip ke /etc/init.d/mongod-custom, lalu edit skrip init khusus, atur nilai Anda dan ubah chkconfig untuk menggunakan mongod-custom alih-alih mongod.
sumber
Untuk menambah jawaban thaspius, batas tampaknya ditetapkan saat ia menjelaskan dalam skrip init, tapi saya masih mendapatkan peringatan
[initandlisten] ** WARNING: soft rlimits too low. rlimits set to 1024 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.
Ini tampaknya menunjukkan bahwa batas file yang ditentukan dalam skrip init telah berlaku, tetapi bukan batas proses. Juga mengikuti jawaban dan menambahkan Nathan C
mongod soft nproc 64000
ke
/etc/security/limits.d/90-nproc.conf
dan memulai kembali sistem memecahkan masalah.Kalau ada yang bisa menjelaskan mengapa itu perlu meskipun memiliki nilai dalam skrip init mongodb aku semua telinga!
sumber
Buat perubahan ini di
/etc/security/limits.conf
file. Tetapkan batas keras dan lunak, dan Anda harus baik.sumber
/etc/security/limits.d/
daripada mengacaukanlimits.conf
file secara langsungAgar perubahan terus-menerus Anda harus mengedit skrip de init, misalnya, di Red Hat 7, skrip init memiliki baris berikut:
Anda harus menambahkan yang berikutnya:
Kemudian restart layanan.
Saya harap ini membantu.
sumber