Ответ 1
Вы всегда можете попробовать сделать ulimit -n 2048
. Это будет только reset лимит для вашей текущей оболочки, а указанный вами номер не должен превышать жесткую границу
Каждая операционная система имеет другую конфигурацию жесткого ограничения в файле конфигурации. Например, ограничение жесткого открытого файла на Solaris можно установить при загрузке из /etc/system.
set rlim_fd_max = 166384
set rlim_fd_cur = 8192
В OS X эти же данные должны быть установлены в /etc/sysctl.conf.
kern.maxfilesperproc=166384
kern.maxfiles=8192
В Linux эти параметры часто находятся в файле /etc/security/limits.conf.
Существует два вида ограничений:
- мягкие лимиты - это просто действующие в настоящее время ограничения.
- жесткие ограничения отмечают максимальное значение, которое невозможно превысить, установив мягкий предел
Мягкие ограничения могут быть установлены любым пользователем, в то время как жесткие ограничения могут быть изменены только root. Пределы являются свойством процесса. Они наследуются при создании дочернего процесса, поэтому системные ограничения должны быть установлены во время инициализации системы в сценариях инициализации, и пользовательские ограничения должны быть установлены во время входа пользователя, например, с помощью pam_limits.
Часто устанавливаются значения по умолчанию при загрузке машины. Таким образом, даже если вы можете reset ваш ulimit в отдельной оболочке, вы можете обнаружить, что при перезагрузке он возвращается к предыдущему значению. Вы можете захотеть grep ваши сценарии загрузки для существования команд ulimit, если вы хотите изменить значение по умолчанию.