Последствия установки максимального количества открытых файловых дескрипторов на «неограниченный» и как?

2626
Rossko_DCA

Можно ли постоянно устанавливать максимальное количество открытых файловых дескрипторов неограниченным (или что-то вроде 1 000 000 000 / или даже выше)?

Если да, пожалуйста, скажите мне, как. Я попытался ulimit -n 1048576, и он работает, но после выхода из системы этот параметр был установлен по умолчанию 1024.

Есть ли какие-либо проблемы безопасности или что-то может быть повреждено при использовании неограниченного количества файловых дескрипторов для процесса?

0
См. [Здесь] (https://unix.stackexchange.com/questions/84227/limits-on-the-number-of-file-descriptors) для определения мягких, жестких ограничений и ограничений ядра. Файловые дескрипторы - это таблицы в памяти определенного размера, и если у вас нет бесконечной памяти, вы не можете установить ее на неограниченное количество. И чем оно выше, тем больше адресного пространства ядра. dirkt 6 лет назад 0

1 ответ на вопрос

2
Romeo Ninov

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

<user> soft nofile <value> <user> hard nofile <value> 

Это будет работать после вашего следующего входа в систему. Также вы можете добавить .confфайл в /etc/security/limits.dтом же формате

Также возможно установить для конкретного пользователя в .bashrcфайле, как это:

ulimit -n <value> 

Но, как упоминалось в комментарии, эти ограничения не должны быть установлены на очень высокое значение, так как они съедают вашу память.

спасибо, у меня все было правильно, но мысль * означала "все". Я поменял его на root и теперь он работает Rossko_DCA 6 лет назад 0