
Я планирую запустить приложение Java с помощью nohup ... &
. Ограничение должно применяться к таким командам.
решение1
Большинство систем используютПАМ, и pam_limits
модуль устанавливает ограничения на основе /etc/security/limits.conf
. Ограничение на количество открытых файлов для каждого пользователя называется nofile
. Вы можете установить его для каждого пользователя или для определенного пользователя или группы, и вы можете установить ограничение, которое пользователь может переопределить (мягкое ограничение), и другое, которое может переопределить только root (жесткое ограничение).документацияи limits.conf
на странице руководства есть подробности. Например, чтобы увеличить лимит до 50000 для всех, введите эту строку /etc/limits.conf
(настройка вступит в силу при входе в систему):
* - nofile 50000
решение2
можно добавить fs.file-max = <your number>
в /etc/sysctl.conf
. Затем перезагрузитесь.
решение3
ulimit -n
можно изменять настройки каждого процесса и
/proc/sys/fs/file-max
или вызываемая переменная sysctl fs.file-max
может использоваться для чтения и установки общесистемного значения
решение4
Используйте ulimit (команда Bash - man bash или найдите аналогичную для вашей оболочки) для каждого экземпляра программы. Не используйте глобальные системные ограничения, если вы не знаете, что делаете - возможен DoS.