我正在运行Oracle JRE 10 Server版本,如下所示。
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)
我正在尝试使用以下Java命令让JVM在内存不足时执行堆转储:
sudo nohup java -jar app.jar -Xmx2048m -XX:+HeapDumpOnOutOfMemoryError &
我的应用程序最终遇到以下异常:
Exception in thread "NioClientManager" java.lang.OutOfMemoryError: Java heap space
问题是我无法找到堆转储文件,典型的异常消息应指向创建堆转储的位置,但是OutOfMemoryError只是自己执行,即使我指定了{{ 1}}选项。
如何在Oracle JRE 10 Server Edition上使用堆转储?
我注意到JRE 10 Server Edition也没有附带jmap,jcmd和其他工具。
在Oracle JRE 10 Server Edition中捕获堆转储的最佳方法是什么?