Методом проб и ошибок я обнаружил, что максимальное число, которое я могу дать ulimit -Hn
без получения ошибки, равно 1048576
. Откуда это число? Мой sys.fs.file-max
равен 20000500
(20 миллионов).
Предел ulimit -Hn
comment
Вы проверили /etc/security/limits.conf?
- person user3159253   schedule 10.06.2015
comment
... а также /etc/security/limits.d/, который по сути является подключаемым вариантом limit.conf
- person user3159253   schedule 10.06.2015
Ответы (2)
На самом деле, этот лимит можно увеличить. Установите fs.nr_open=5242880
в /etc/sysctl.conf
, запустите sysctl -p
и снова войдите в систему. Ваш лимит теперь 5 миллионов! Установите и это, и файл-макс.
person
user5057802
schedule
28.06.2015
по крайней мере, не работает на Amazon Linux. Мне также нужно это: serverfault.com/a/702074/58945
- person jcomeau_ictx; 25.01.2017
На самом деле это жестко запрограммировано в ядре Linux, в fs/file.c
:
int sysctl_nr_open __read_mostly = 1024*1024;
и равно именно тому числу, которое вы указали.
Связанные коммиты, которые пытались сделать его бесконечным:
- https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=0c2d64fb6cae9aae480f6a46cfe79f8d7d48b59f
- https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=60fd760fb9ff7034360bab7137c917c0330628c2
Похоже, с тех пор его никто не трогал.
person
rr-
schedule
10.06.2015