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

Это выходные данные 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. быть какие-то проблемы? Это вызовет нестабильность?

Спасибо.

7
задан 5 February 2013 в 17:05

1 ответ

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

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

(от man limit.conf (5))

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

cat /proc/sys/fs/file-max

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

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

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


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

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

0
ответ дан 5 February 2013 в 17:05

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

Похожие вопросы: