Предел ulimit -Hn

Методом проб и ошибок я обнаружил, что максимальное число, которое я могу дать ulimit -Hn без получения ошибки, равно 1048576. Откуда это число? Мой sys.fs.file-max равен 20000500 (20 миллионов).


person Yuri Geinish    schedule 10.06.2015    source источник
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
comment
по крайней мере, не работает на 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;

и равно именно тому числу, которое вы указали.

Связанные коммиты, которые пытались сделать его бесконечным:

Похоже, с тех пор его никто не трогал.

person rr-    schedule 10.06.2015