У нас есть приложение, которое будет развернут на сервере WebSphere работает на UNIX, и мы столкнулись две проблемы:Можно ли выбрать, создавать ли кучу кучи или нет на лету?
- зависанию системы, которая восстанавливается через несколько минут - исследовать, нам понадобится дамп нить (Javacore).
- система зависает, которая не восстанавливается, и требует перезапуска WebSphere - для исследования нам понадобится дамп потока и куча дампа.
Проблемы: когда зависание системы происходит, мы не знаем, является ли это вопрос 1 или 2.
В идеале мы хотели бы, чтобы вручную сгенерировать дамп потоков первым, и ждать, чтобы увидеть, если система восстанавливается. Если это не так, мы создаем дамп потока и кучу кучи, прежде чем перезапускать WebSphere.
Я знаю о команде kill -3
(или kill -QUIT
). Команда будет генерировать только дамп потока (если параметр IBM_HEAPDUMP=false
), или дамп потока, и сброс кучи (если IBM_HEAPDUMP=true
). Тем не менее, IBM_HEAPDUMP
должен быть установлен до запуска WebSphere и не может быть изменен во время работы WebSphere.
Насколько я понимаю, что касается параметра IBM_HEAPDUMP
и команды kill -3
?
Кроме того, можно ли получить журналы так, как я описал? (т. е. при генерации JVM-диагностики, выберите, нужно ли генерировать кучу кучи или нет на лету)
Большое спасибо. После прочтения вашего ответа я также нашел эту ссылку о генерации дампов кучи из WebSphere: http://www-01.ibm.com/support/docview.wss?uid=swg21384926. Он содержит более подробные объяснения. – Andy