Установка ulimit в скрипте инициализации
Я пытаюсь установить rabbitmq-сервер на Ubuntu 14.04.4 LTS.
В /etc/default/rabbitmq-server написано:
# Maximum number of open file handles. This will need to be increased
# to handle many simultaneous connections. Refer to the system
# documentation for ulimit (in man bash) for more information.
#
ulimit -S -n 65536
(Я увеличил значение до того, что предлагает документация rabbitmq.) Не имеет значения, если я вместо этого добавлю строку в /etc/init.d/rabbitmq-server.
Кроме того, в качестве единственной записи в /etc/security/limits.conf у меня есть следующее (с пустым limit.d):
* hard nofile 65536
Я могу установить свой ulimit как обычный пользователь:
$ ulimit -n
1024
$ ulimit -n 65536
$ ulimit -n
65536
Но, когда я делаю sudo service rabbitmq-server restart
:
/etc/init.d/rabbitmq-server: 9: ulimit: error setting limit (Invalid argument)
Я перезапустил машину, чтобы убедиться, что это не связано с моей сессией SSH или чем-то подобным. Что мне не хватает?
1 ответ
После написания всего этого я попытался установить явное ограничение для root в /etc/security/limits.conf, что решило проблему.
Не ожидал, что root будет ограничен таким образом.