Я использую серверную версию Oracle JRE 10, как показано ниже.
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
Я пытаюсь заставить JVM выполнить дамп кучи, когда ему не хватает памяти, с помощью следующей команды java:
sudo nohup java -jar app.jar -Xmx2048m -XX:+HeapDumpOnOutOfMemoryError &
Мое приложение наконец-то обнаружило следующее исключение:
Exception in thread "NioClientManager" java.lang.OutOfMemoryError: Java heap space
Проблема в том, что я не могу найти файл дампа кучи, и типичное сообщение об исключении должно указывать, где был создан дамп кучи, ноOutOfMemoryError просто выполняет сам по себе и не создает никакого файла дампа кучи, даже когда я указал опцию -XX:+HeapDumpOnOutOfMemoryError
.
Как настроить работу heapdump на Oracle JRE 10 Server Edition?
Я заметил, что JRE 10 Server Edition не поставляется с jmap, jcmd и другими инструментами.
Каков наилучший способ захвата дампа кучи в Oracle JRE 10 Server Edition?