Планую запустити додаток 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