
Можно ли навсегда установить максимальное количество открытых файловых дескрипторов на неограниченное значение (или около 1 000 000 000 или даже выше)?
Если да, то, пожалуйста, расскажите, как. Я попробовал ulimit -n 1048576, и это работает, но после выхода из системы эта опция была установлена на значение по умолчанию 1024.
Есть ли какие-либо проблемы безопасности или можно ли повредить что-то, используя неограниченное количество файловых дескрипторов для процесса?
решение1
Вы можете установить постоянные различные ограничения в /etc/security/limits.conf
. Ожидаемый формат (для обработчиков файлов):
<user> soft nofile <value>
<user> hard nofile <value>
Это сработает после вашего следующего входа. Также вы можете добавить .conf
файл /etc/security/limits.d
в том же формате
Также можно задать для конкретного пользователя .bashrc
файл следующим образом:
ulimit -n <value>
Но, как уже упоминалось в комментарии, эти ограничения не следует устанавливать на слишком высокие значения, поскольку они будут поглощать вашу память.