Можно создать дубликат:
Can I force generation of a JVM crash log file?силы или генерировать ядро JVM дамп
Как можно заставить или сгенерировать дамп JVM на сервере приложений Java или вообще?
Можно создать дубликат:
Can I force generation of a JVM crash log file?силы или генерировать ядро JVM дамп
Как можно заставить или сгенерировать дамп JVM на сервере приложений Java или вообще?
Проблема (Аннотация): Для диагностики проблем, связанных с зависанием или плохой эксплуатацией приложений-клиентов, работающих на WebSphere Application Server Community Edition, пользователи должны будут генерировать различные дампы и отправлять их в службу поддержки IBM для диагностики.
Этот технот объясняет, как создавать необходимые дампы, когда WebSphere Application Server Community Edition работает как служба операционной системы. Это Technote относится к IBM Java SDK 1.5.0 и IBM Java SDK 1.6.0
Причина: Когда клиент приложения опыт зависание или плохой работы с WebSphere Application Server Community Edition на IBM Java SDK 1.5.0 или IBM Java SDK 1.6.0, а сервер работает как служба операционной системы, соответствующее окно командной строки/серверного процесса недоступно для пользователей. В результате пользовательские сигналы не могут быть отправлены с клавиатуры для запуска дампов.
Решение проблемы: Когда окно командной строки процесса JVM доступно, генерируя отвалы прямо вперед следующим образом:
Окна: Если установка JVM настроена для запуска свалок сигнала пользователя, нажмите CRTL+Break
в окне команд для создания дампов.
Linux: Если настройка JVM настроена на создание дампов в пользовательском сигнале, нажмите CTRL+\
на окне оболочки.
AIX: Если настройка JVM настроена на создание дампов в пользовательском сигнале, нажмите CTRL+\
на окне оболочки.
Примечание: Для того чтобы сгенерировать Java дамп ядра, ядро системы дамп, дамп кучи и оснастку дамп при пользовательском сигнале, свалка агенты должны быть настроены через параметры JVM следующий образом:
-Xdump:java+heap+system+snap:events=user
Для получения дополнительной информации о том, как настроить агенты сбрасывания, посетите страницу -Xdump
.
Однако, если WebSphere Application Server Community Edition работает как служба операционной системы, окно командной строки может быть недоступно. Этот случай также возникнет при запуске JVM-процесса с помощью javaw.exe на окнах.
В предыдущих случаях пользователю необходимо найти соответствующий идентификатор процесса JVM и использовать поставляемые поставщиком операционной системы или поставляемые IBM инструменты для создания дампов, выполнив следующие шаги.
Windows: WinDbg можно загрузить с сайта инструментов Microsoft Dev для создания дампов системного ядра.Используйте следующую команду в консоли WinDbg для создания базовой системы дампа:
dump /f <dumpfile>
Где DumpFile включает путь к каталогу и имя файла ядро системы дампа. Убедитесь, что вместо /ma
используется опция /f
. /f
генерирует полную свалку, где /ma
генерирует мини-свалку. Поддерживаются только полные дампы с помощью инструмента jextract, поставляемого с IBM Java SDK 1.5.0/1.6.0.
Утилита SendSignal для Windows. Для этого JVM необходимо настроить для создания дампов на пользовательских сигналах. Для создания Java дампа, дампа кучи, ядро системы дампа и стопорный дампа при пользовательском сигнале, следующий параметр должен подаваться в JVM при запуске:
-Xdump:java+heap+system+snap:events=user
Примечание: SendSignal утилита может быть использована, чтобы генерировать все типы дампов, где WinDbg генерирует только системные отвалы.
Linux and AIX
: Сигнал для Linux и AIX - SIGQUIT
. Используйте команду для передачи сигнала пользователя, чтобы вызвать различные дампы:
kill -3 <PID>
Для этого, виртуальная машина должна быть настроена для создания отвалов на сигнал пользователя. Чтобы сгенерировать дамп ядра Java, кучу кучи, дамп системного ядра и привязку к пользовательскому сигналу, в JVM при запуске должна быть предоставлена следующая опция.
-Xdump:java+heap+system+snap:events=user
Примечание. Файлы дампа системного ядра должны обрабатываться с использованием инструмента jextract, а вывод должен быть отправлен в службу поддержки IBM. Jextract из одной и той же виртуальной машины Java, испытавшей проблему следует использовать для обработки основной системы дамп:
<JAVA_HOME>/jre/bin/jextract <dumpfile>
Где DumpFile является имя файла ядра системы сброса.
Это приведет к созданию zip-файла .zip. Почтовый файл необходимо отправить в службу поддержки IBM.
kill -3 не работал для меня на CentOS 6 & JDK 8. Мне пришлось использовать метод gdb из этого сообщения: http://stackoverflow.com/questions/20832793/java-get-heap-dump-without- jmap или-без висячей на-приложения – wbdarby
Если вы используете свой собственный код, то необходимо поднять исключение и сразу же распечатать его стек. Если нет, инструменты профилирования должны иметь способы захвата моментальных снимков потоков, запущенных в вашей JVM. Я использовал YourKit и мне понравилось, но есть free alternatives.
, для которого сервер приложений, который вы ищете – developer
Этот вопрос следует переопределить и перефразировать. Как заставить IBM JVM генерировать отвалы ядра, ответ Дамодара ниже очень хорош. – ams
Не дубликат (я думаю), дамп ядра - это не журнал сбоев (я думаю)! – PJTraill