Я планирую запустить приложение Java с помощью nohup ... &
. Ограничение должно применяться к таким командам.
Я планирую запустить приложение Java с помощью nohup ... &
. Ограничение должно применяться к таким командам.
Ответы:
В большинстве систем используется PAM , и для pam_limits
модуля установлены ограничения на основе /etc/security/limits.conf
. Предел для каждого пользователя для открытых файлов называется nofile
. Вы можете установить его для каждого пользователя или для конкретного пользователя или группы, и вы можете установить ограничение, которое пользователь может переопределить (мягкое ограничение), и другое ограничение, которое может переопределить только root (жесткое ограничение). Документация и limits.conf
страница имейте детали. Например, чтобы поднять ограничение до 50000 для всех, вставьте эту строку /etc/limits.conf
(настройка вступает в силу при входе в систему):
* - nofile 50000
limits.conf
до * hard nofile 50000
и / или * soft nofile 50000
. Я не знаю технической разницы между жестким и мягким и всегда делал то и другое.
limit descriptors 50000
изменить значение в данном терминальном окне / сеансе.
ulimit
команду ( limit
вызывается в csh). Непривилегированный пользователь никогда не может превысить жесткий лимит.
Вы можете добавить fs.file-max = <your number>
в /etc/sysctl.conf
. Затем перезагрузите компьютер.
sysctl fs.file-max=123456
. ( /etc/sysctl.conf
читается во время загрузки скриптом, который вызывает sysctl
содержимое.)
Вы можете использовать ulimit для этого:
http://bloggerdigest.blogspot.com/2006/10/purpose-of-ulimit-linux-command.html
Хотя вы должны убедиться, что открытие такого количества файловых дескрипторов абсолютно необходимо, прежде чем прибегать к таким настройкам. Увеличение максимального количества дескрипторов файлов только потому, что вы забыли сделать в цикле inputtream.close (), только задержит основную проблему.
Используйте ulimit (команда Bash - man bash или найдите аналог для вашей оболочки) для каждого экземпляра программы. Не используйте глобальные системные ограничения, если вы не знаете, что делаете - возможно DoS.
nofile
в limits.conf
быть 100000. успешно. Я могу засвидетельствовать, что слишком большое значение помешало последующему входу в систему по SSH, и мне пришлось загружаться с dvd, чтобы исправить это значение в limit.conf для восстановления системы.
vi ~/.bashrc
И добавить строку в конце файла
ulimit -n 169203