Tomcat внезапно умирает

Попытка диагностировать причудливые ошибки Tomcat ( 7.0.21 ) и / или JVM на 64-битной машине Linux (CentOS).

Я тестировал наше серверное приложение под нагрузкой и попытался отправить ему 100К сообщений. Запустил jvisualvm и все время смотрел в кучу. Все выглядело великолепно * (см. Ниже), пока я не набрал около 93 КБ обработанных сообщений, а затем Tomcat просто умер. Выполните ps для номера PID Tomcat, чтобы убедиться, что он мертв.

До этого сбоя:

  • Нагрузочный тест выполнялся около 90 минут; должен был закончиться вскоре после этого, так как мы были на 93K / 100K)
  • ЦП оставался стабильным около 45%
  • Используемая куча составляла около 2 ГБ (плюс-минус куча после GC), но размер кучи вырос с 4 ГБ до MAX_HEAP примерно через 30 минут
  • Загрузка / выгрузка классов выполнялась нормально
  • Дамп потоков был нормальным

Нигде в коде сервера нет вызовов System.exit () - поэтому мы можем исключить это сразу (и да, я перепроверил !!!).

Я не уверен, что это сбой Tomcat или JVM ( как мне сказать? ).И даже если бы я знал, я не могу найти никаких указаний на то, что пошло не так:

  • Все журналы серверного приложения просто останавливаются без каких-либо сообщений об ОШИБКАХ (даже при том, что у нас для всех журналов установлено значение DEBUG и выше)
  • Tomcat catalina.out и уважаемые файлы localhost_access _ * просто останавливаются без какой-либо информации

Я слышал, что Tomcat может записывать дамп ядра, но не уверен как это сделать, и онлайн-примеры мало помогают.

Как бы ТАК это диагностировать? Какие шаги я должен предпринять, чтобы начать исключать все возможные факторы?

Заранее спасибо!

18
задан IAmYourFaja 3 February 2012 в 17:06
поделиться