Restart JVM after out of memory error

--

22 December 2022

ตัวอย่างคำสั่ง start java program สำหรับจัดการกรณีที่เกิด java heap เต็ม

java -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/disk2/dumps -XX:OnOutOfMemoryError=”kill -9 %p” TestApp

จะมี parameter ที่กำหนดไว้ 3 ตัว (หลัง -XX) คือ
1. HeapDumpOnOutOfMemoryError : คือกำหนดให้เมื่อเกิดเหตุการณ์ที่ java heap เต็มแล้วให้ทำการสร้าง file heapdump ขึ้น
2. HeapDumpPath : กำหนด directory สำหรับเก็บ file heapdump จากข้อ 1
3. OnOutOfMemoryError : กำหนดว่าหลังจากเกิด OutOfMemoryError แล้วจะให้ทำอะไร เช่นสั่งให้ทำการ restart jvm เป็นต้น โดยเงื่อนไขนี้หากกำหนดไว้คู่กับ HeapDumpOnOutOfMemoryError จะทำหลังจากสร้าง file heapdump เสร็จแล้ว

https://stackoverflow.com/questions/30530082/how-can-i-restart-jvm-on-outofmemoryerror-after-making-a-heap-dump
http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/5755b2aee8e8/src/share/vm/utilities/debug.cpp#l295

--

--

Prawit Tangmanopeanchai
Prawit Tangmanopeanchai

Written by Prawit Tangmanopeanchai

Head of Cloud Implementation Unit at gosoft (Thailand)

No responses yet