Установка 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 будет ограничен таким образом.

Другие вопросы по тегам