«Слишком много открытых файлов» для Apache и java/tomcat. Как установить лимиты процесса -?

Вы можете использовать set -x, чтобы увидеть, что делает оболочка:

set -x
$(echo 'a')
  ++ echo a
  + a

Оболочка выполняет echo aи помещает вывод в командную строку. Это то же самое, как если бы вы попытались выполнить эту командную строку:

a

Оболочка ищет команду aв пути (и даже раньше в списках функций, псевдонимов и хэшей ), не находит и поэтому выдает ошибку.

Работает, если вывод является корректной командой:

$(echo 'ls')
0
15.08.2020, 23:28
1 ответ

Ваш вопрос выглядит так: Как установить ulimits для службы с помощью systemd?-ограничение количества открытых файлов должно быть указано в сценарии запуска -up сервера Apache Tomcat. Пример :Предполагая, что машина с Ubuntu использует systemd, можно увеличить лимит открытых файлов для java-процесса tomcat до 65000, отредактировав файл сценария start -up следующим образом:

/etc/systemd/system/tomcat.service:

[Unit]
Description=Tomcat Service
After=syslog.target network.target

[Service]
Type=forking
User=tomcat
Group=tomcat
LimitNOFILE = 65000      <---------
....
[Install]
WantedBy=multi-user.target

Перезагрузите демонов и перезапустите сервер tomcat...

systemctl daemon-reload
systemctl restart tomcat

Проверить, что-то похожее с...

pstree -pu |grep tomcat
       |-java(23638,tomcat)-+-{java}(23645)
grep open /proc/23638/limits
Max open files            65000                65000                files
1
18.03.2021, 23:12

Теги

Похожие вопросы