Supervisord и ulimit для приложения Java

Я использую supervisord для запуска своего Java-приложения. Приложение работает нормально, но мой ulimit nofiles не установлен. Я мог бы сделать это на одной машине, используя Debian. но есть проблема на второй машине, что эта конфигурация не работает. По сути, я запускаю свое приложение со сценария:

#!/bin/sh

iscsiJar="/mnt/cache/jscsi/udrive.jar"

ulimit -SHn 32768

# função para iniciar a aplicação
java -XX:MaxHeapFreeRatio=70 -Xmx2048M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=dump.hprof -jar $iscsiJar

Но моя команда cat /proc/4171/limits продолжает говорить:

Максимальное количество открытых файлов 4096 4096 файлов

Любой намек? Я уже везде ищу в Интернете.... Я мог бы попробовать этот путь по этому вопросу> nohup создавать новые файлы nohup.out по дням


person Felipe Gutierrez    schedule 06.01.2015    source источник
comment
Я подозреваю, что конфигурация supervisord запускает приложение с другим пользователем, поскольку при запуске приложения некоторые каталоги создаются как root.   -  person Felipe Gutierrez    schedule 07.01.2015


Ответы (2)


Если кто-то все еще ищет решение для этого, попробуйте установить: параметр minfds в файле конфигурации supervisord: http://supervisord.org/configuration.html#supervisord-section-значения

Не забудьте перезапустить супервизор после изменения конфигурации.

person Maciej Wisniowski    schedule 03.07.2017

Я получил решения, написав еще одну java-программу. Тестируйте с руководителем. Я также использовал #!/bin/bash вместо #!/bin/sh, и мой пользователь Linux не был настроен должным образом.

Я также использовал этот ответ от serverfault, чтобы помочь мне.

person Felipe Gutierrez    schedule 06.01.2015