Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
tech:kb0004 [2012/06/11 10:07] Євген Слюсар створено |
tech:kb0004 [2012/06/11 10:37] (поточний) |
||
---|---|---|---|
Рядок 1: | Рядок 1: | ||
====== KB0004 ====== | ====== KB0004 ====== | ||
===== Проблема ===== | ===== Проблема ===== | ||
+ | При високому навантаженні **CREAM CE** у системному журналі чи на електронну скриньку адміністратора надходить повідомлення приблизно такого змісту: <code> | ||
+ | glite.univ.kiev.ua : May 22 01:36:14 : tomcat : can't open /etc/sudoers : Too many open files in system ; | ||
+ | TTY=unknown ; PWD=/usr/share/tomcat6 ; COMMAND=/opt/glite/bin/glite-ce-cream-purge-sandbox | ||
+ | glite.univ.kiev.ua : May 22 02:03:46 : tomcat : can't open /etc/sudoers : Too many open files in system ; | ||
+ | TTY=unknown ; PWD=/var/glite/tmp ; COMMAND=/bin/kill-s</code> | ||
+ | При цьому можуть губитися завлання та виникати інші проблеми у роботі служби. | ||
===== Застосовність ===== | ===== Застосовність ===== | ||
- | + | На разі це застосовно до будь-якої версії **CREAM CE**. | |
- | На разі це застосовно до **CREAM CE**. | + | |
===== Причина ===== | ===== Причина ===== | ||
+ | Перевищено системні обмеження на кількість одночасно відкритих файлів, що активовані за замовчуванням із міркувань безпеки. | ||
===== Пояснення ===== | ===== Пояснення ===== | ||
+ | Основною частиною служби CREAM CE є Java-застосування, що виконується у контейнері сервера застосувань Apache Tomcat. Вся діяльність застосування відбувається у контексті єдиного процесу віртуальної машини Java (JVM), що й призводить до перевищення обмежень безпеки, що задаються на кожен процес. | ||
===== Вирішення ===== | ===== Вирішення ===== | ||
+ | Потрібно дещо збільшити допустиму кількість відкритих файлів як на один процес, та і на систему загалом. Це стандартна практика, що застосовується на високонавантажених серверах. | ||
+ | - Найпростіше задати однакові обмеження для будь-якого процесу. Для цього необхідно створити файл ''/etc/security/limits.d/50-nofile.conf'' наступного змісту: <code> | ||
+ | # As this is server machine, increase number of | ||
+ | # file descriptors available to daemons | ||
+ | |||
+ | * soft nofile 32768 | ||
+ | * hard nofile 32768 | ||
+ | </code> | ||
+ | - Також необхідно збільшити загальну кількість відкритих файлів, що може забезпечити ядро. Для цього необхідно додати чи змінити значення системного параметру у файлі ''/etc/sysctl.conf'': <code> | ||
+ | # File descriptors | ||
+ | fs.file-max = 65536</code> | ||
+ | - Щоб застосувати зміни, необхідно застосувати системні параметри та перезапустити процес Tomcat: <code> | ||
+ | # sysctl -p | ||
+ | # service tomcat6 restart | ||
+ | </code> | ||
+ | --- //[[people:slu|Євген Слюсар]] 2012/06/11 13:36// |