Używanie parametru HeapDumpOnOutOfMemoryError dla zrzutu Sterty Dla JBoss

Powiedziano mi, że mogę dodać parametr -XX:+HeapDumpOnOutOfMemoryError do moich opcji uruchamiania JVM do mojego skryptu uruchamiania JBoss, aby uzyskać zrzut sterty, gdy otrzymamy błąd out of memory w naszej aplikacji. Zastanawiałem się, skąd te dane są wyrzucane? Czy to tylko do konsoli, czy do jakiegoś pliku dziennika? Jeśli to tylko do konsoli, co jeśli nie jestem zalogowany na serwerze Unix przez konsolę?

Author: Dmitry Trunov, 2009-02-12

4 answers

Oto co Dokumentacja Oracle ma do powiedzenia:

Domyślnie zrzut sterty jest tworzony w plik o nazwie java_ pid .hprof w working directory of the VM, as in the przykład powyżej. Możesz określić alternatywna nazwa pliku lub katalogu z opcją -XX:HeapDumpPath=. Na przykład -XX:HeapDumpPath=/disk2/dumps spowoduje, że zrzut sterty będzie wygenerowano w /disk2/dumps katalog.

 221
Author: Matt Solnit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-15 22:46:02

Możesz wyświetlić ten zrzut z konsoli UNIX.

Ścieżka do zrzutu sterty zostanie dostarczona jako zmienna zaraz po tym, gdzie umieściłeś wspomnianą zmienną.

Np.:

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${DOMAIN_HOME}/logs/mps"

Możesz wyświetlić zrzut z konsoli na wspomnianej ścieżce.

 42
Author: Swaminathan Krishnamoorthi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-12-10 14:13:20

Trudno mi było rozszyfrować co oznacza "working directory of the VM". W moim przykładzie używałem programu Java Service Wrapper do wykonania jar - pliki zrzutu zostały utworzone w katalogu, w którym umieściłem program wrapper, np. c:\myapp\bin. Powodem, dla którego odkryłem, jest to, że pliki mogą być dość duże i wypełniły dysk twardy, zanim odkryłem ich lokalizację.

 3
Author: B5A7,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-26 23:27:31

Jeśli nie używasz opcji "-XX:HeapDumpPath", to w przypadku JBoss EAP/As Domyślnie plik zrzutu sterty zostanie wygenerowany w katalogu" JBOSS_HOME/bin".

 2
Author: Swapnil Chaudhari,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-26 14:13:57