В настоящее время мы используем последнюю версию daemontools (http://cr.yp.to/daemontools.html) для управления нашими фоновыми серверами приложений linux (AWS-linux). Наши серверы приложений работают в JVM:
[ec2-user@ip-10-0-1-220 local]$ java -version
java version "1.7.0_75"
OpenJDK Runtime Environment (amzn-2.5.4.0.53.amzn1-x86_64 u75-b13)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)
Все работает хорошо и, как и ожидалось, если мы не перезапустим сервер:
sudo shutdown -r сейчас
Когда сервер перезагружается, настроенные службы daemontools запускаются и работают нормально в течение ~ 10-20 минут. Однако по истечении этого периода потоки на серверах приложений начинают зависать до тех пор, пока весь процесс не будет заморожен. На данный момент мы нашли единственный способ решить эту проблему - воссоздать каталог службы в /service/...
Симптомы могут указывать на поврежденные данные в /service/.../supervise/
каталог. Этот вопрос, похоже, ранее не обсуждался.
Мы будем очень благодарны за любые предложения или советы о том, как мы можем перезапустить наши серверы без этой проблемы.
Первым шагом к диагностике является выполнение sudo ./run
из служебного каталога и просто убедитесь, что он будет работать постоянно на переднем плане. Если это не так, вам необходимо указать это в своем приложении.
Если он все же запускается вручную, проблема может заключаться в том, как вы настраиваете служебный каталог. Можете ли вы опубликовать свои шаги для воссоздания?