使用JProfiler監控JAVA程序內存,JVM報錯:
A fatal error has been detected by the Java Runtime Environment:
EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000007718b81a, pid=8540, tid=0x0000000000000fa4
JRE version: Java(TM) SE Runtime Environment (8.0_162-b12) (build 1.8.0_162-b12)
Java VM: Java HotSpot(TM) 64-Bit Server VM (25.162-b12 mixed mode windows-amd64 compressed oops)
Problematic frame:
V [jvm.dll+0x13b81a]
Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
If you would like to submit a bug report, please visit:
http://bugreport.java.com/bugreport/crash.jsp
--------------- T H R E A D ---------------
原因:
Minidump是Windows上的程序crash的時候可以寫出的一種小型crash dump,會記錄導致crash的錯誤的摘要信息,以便開發者可以事后調查crash的原因。HotSpot VM在非server版的(也就是client版的)Windows上選擇默認不寫出minidump。
解決:
要讓HotSpot VM在client版Windows上寫出minidump,請指定 -XX:+CreateMinidumpOnCrash,這樣HotSpot VM在crash時就會調用Windows的MiniDumpWriteDump()函數寫出minidump。
