Назад | Перейти на главную страницу

слишком много открытых файлов только при запуске сервера

У меня есть веб-приложение Java, настроенное для запуска в сценарии в /etc/init.d/application. Приложение выдает ошибку "слишком много открытых файлов", но если я выполню тот же сценарий от своего пользователя, у него не будет никаких проблема.

Я уже увеличил лимиты в /etc/security/limits.conf, но я не понимаю, почему это происходит только при запуске машины (я пробовал много раз)

Может ли это быть связано с уровнем запуска, на котором выполняется сценарий?

ОС - Redhat 5.4.

Чтобы исправить это, вам необходимо выполнить команду как часть сценария запуска.

Предполагая, что это сценарий bash, который затем выполняет ваше приложение, добавьте ulimit -n 8192 как приказ к нему. Если это программа на Java, используйте Runtime.getRuntime().exec("ulimit -n 8192") при запуске.

В /etc/security/limits.conf файл влияет только на нормальный вход. Если вы хотите установить ограничения для сценария запуска (который никогда не выполняет нормального входа в систему), вы должны сделать это в самом сценарии.