У меня есть сервер Ubuntu, который работает на 14.04.05 LTS.
На этом сервере также установлено несколько приложений ugins mongodb. Версия MongoDB — 3.4.2.
Я пытаюсь увеличить максимальный процесс ulimit процесса mongodb.
Сначала я поместил эти строки в /etc/security/limits.conf
* soft nproc unlimited
* hard nproc unlimited
* soft nofile 64000
* hard nofile 64000
* soft sigpending unlimited
* hard sigpending unlimited
root soft nproc unlimited
root hard nproc unlimited
root soft nofile 64000
root hard nofile 64000
root soft sigpending unlimited
root hard sigpending unlimited
mongodb soft nproc unlimited
mongodb hard nproc unlimited
mongodb soft nofile 64000
mongodb hard nofile 64000
mongodb soft sigpending unlimited
mongodb hard sigpending unlimited
а также поместите необходимые pam.limits в нужные места и перезагрузите компьютер, но безуспешно.
Затем я попытался вручную запустить команду ulimit -u unlimited
, которая отображается сразу после ее выполнения (я видел результат с командой ulimit -a
). Затем перезагрузите процесс mongodb, но ограничения не изменились.
Затем я попытался поместить эти строки в:
ulimit -f unlimited
ulimit -t unlimited
ulimit -v unlimited
ulimit -n 64000
ulimit -m unlimited
ulimit -u unlimited
в файл /etc/init.d/mongodb
и попробуйте запустить процесс mongodb с /etc/init.d/mongodb start
, но я получил эту ошибку:
/etc/init.d/mongodb: 67: ulimit: Illegal option -u
Я также поместил эту строку mongod soft nproc 64000
в /etc/security/limits.d/90-nproc.conf
и попытался перезагрузить компьютер, но безуспешно.
В этой ветке https://stackoverflow.com/questions/9361816/maximum-number-of-processes-in-linux
я увидел, что один пользователь сообщил о kernel.threads-max
, что он ограничивает это число, но на моем другом сервере я могу получить больше максимального ограничения на количество подключений, чем kernel.threads-max / 2
Поэтому я не уверен, где я делаю неправильно, но любая помощь очень ценится.