Что такое безопасный линитный потолок?

Это вывод ulimit -a

 core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 16382 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) unlimited virtual memory (kbytes, -v) unlimited file locks (-x) unlimited 

Это 64-битная установка, и я хотел бы увеличить max-open файлы с 1024 до более пьяного лимита, такого как 5000. Будет ли это проблемой? Это приведет к нестабильности?

Благодарю.

max-open – количество файлов, которые один пользователь может открывать одновременно в одном сеансе .

Кроме того, обратите внимание, что все ограничения установлены для входа в систему. Они не являются глобальными и не являются постоянными; существующий только в течение всего сеанса.

(от человека limits.conf (5))

Безопасное значение для максимального количества действительно зависит от вашего использования. Точка со значениями по умолчанию – это предотвращение тривиального (случайного) отказа в обслуживании. Существует также глобальный предел количества открытых файлов:

 cat /proc/sys/fs/file-max 

Вы можете изменить это число, запустив, например,

 echo 100000 > /proc/sys/fs/file-max 

(с пользовательским root, очевидно). Еще лучше добавить строку fs.file-max = 10000 в /etc/sysctl.conf чтобы загрузить fs.file-max = 10000 же настройку после перезагрузки.


Что касается ulimit: безопасно увеличить это число. Однако количество открытых файлов не должно превышать глобальный файл-макс, потому что тогда открытие новых файлов больше невозможно (и, например, вход в систему требует открытия файлов).

Если есть несколько пользователей, помните, что если вы измените значение по умолчанию, каждый может открыть больше файлов. Например, 30 пользователей * 5000 файлов = 150 000 открытых файлов (при условии, что каждый открывает максимальное количество файлов и использует только один сеанс). Если у вас есть действительно ресурс, голодный (как и в самом деле, много файлов), используемое несколькими пользователями, это может быть проблемой.