Планую запустити додаток 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
Хоча ви повинні переконатися, що відкривати так багато ручок файлів абсолютно необхідно, перш ніж вдаватися до таких коригувань. Збільшення максимального розміру файлу лише тому, що ви забули зробити inputstream.close () в циклі, лише затримаєте основну проблему.
Використовуйте ulimit (команда Bash - man bash або знайдіть подібне для вашої оболонки) для кожного екземпляра програми. Не використовуйте глобальні системні обмеження, якщо ви не знаєте, що ви робите - можливий DoS.
nofile
в limits.conf
бути 100000. успішно. Я можу засвідчити, що встановлення занадто великого значення перешкоджало подальшому входу з SSH, і мені довелося завантажуватися з DVD, щоб виправити це значення у limit.conf, щоб відновити систему.
vi ~/.bashrc
І додайте рядок в кінці файлу
ulimit -n 169203