Jetty (сервер сервлетов HTTP в Java) неожиданно завершает работу
Приложение Jetty разворачивается на моем сервере, но продолжает завершать работу, имея мало понятных доказательств того, почему. Любая помощь в решении этого будет принята с благодарностью.
Подробности:
OS:
Slackware Linux 13.1
Linux 2.6.32.16 running as Xen guest OS
Java info:
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
nginx 0.7.67 config (only pertinent items):
location /app {
proxy_pass http://localhost:50013;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
Приложение Jetty запускается через daemontools в файле запуска, содержащем:
#!/bin/sh
cd /path/to/app
exec setuidgid userXYZ /usr/lib/java/bin/java -server -verbose -jar ./app.jar
В журнале нет доказательств того, что он время от времени отключается (после чего daemontools запускает его снова).
Очевидно, что при использовании сеансов в памяти это не идеально, поскольку сеансы пользователей завершаются.
Итак, я запустил приложение, используя strace, без daemontools, и результат можно найти здесь:
Спасибо Дейл
1 ответ
Во-первых, есть ли в вашей системе файл с именем "core"? Это может быть сгенерировано Jetty, когда он потерпел крах.
Вот несколько возможностей:
Ваша JVM может работать из-за частых сборок мусора. Вы можете проверить это с помощью такого инструмента, как VisualVM. Если этот графический интерфейс недоступен, вы можете распечатать статистику GC в файл журнала с помощью переключателей JVM.
Возможно, на вашей виртуальной машине не хватает места в куче. Анализ ГХ также проливает свет на эту возможность. Что произойдет, если вы увеличите размер кучи?
Насколько я понимаю, вы не можете настроить Jetty так, как вы можете настроить сервер J2EE, так что это, вероятно, хорошо.
Последняя возможность, что что-то не так с вашим приложением. Вы можете использовать следующий учебник для отладки приложений, работающих на Jetty: http://sujitpal.sys-con.com/node/508048/mobile.
Удачи!