如何在 OutOfMemoryError _after_ 上重新启动 JVM 进行堆转储?
我知道 -XX:+HeapDumpOnOutOfMemoryError
JVM 参数。我也知道 -XX:OnOutOfMemoryError=“cmd args;cmd args”
,这将请求一个堆转储。kill -3 <JVM_PID>
问题:如何确保我首先进行完整的堆转储,然后在转储完成后强制重新启动(或终止)?是我最好的选择吗?OutOfMemoryError
-XX:OnOutOfMemoryError="kill -3 %p;sleep <time-it-takes-to-dump>;kill -9 %p"