java堆dump文件分析工具 ubuntu core dump的文件在哪個(gè)目錄?
ubuntu core dump的文件在哪個(gè)目錄?ubuntu默認(rèn)不創(chuàng)建core文件。需要用命令 ulimit -c unlimited 允許產(chǎn)生core dump且core文件大小不受限制,然后在可
ubuntu core dump的文件在哪個(gè)目錄?
ubuntu默認(rèn)不創(chuàng)建core文件。
需要用命令 ulimit -c unlimited 允許產(chǎn)生core dump且core文件大小不受限制,然后在可執(zhí)行文件的同一目錄下即可找了 但當(dāng)前設(shè)置的ulimit只對(duì)當(dāng)前會(huì)話有效,若想系統(tǒng)均有效,則需要進(jìn)行如下設(shè)置: 在/etc/profile中加入以下一行,這將允許生成coredump文件 ulimit-c unlimited如何獲取JVM的dump文件?
獲取JVM的dump文件的兩種方式
1. JVM啟動(dòng)時(shí)增加兩個(gè)參數(shù):
#出現(xiàn) OOME 時(shí)生成堆 dump:
-XX: HeapDumpOnOutOfMemoryError
#生成堆文件地址:
-XX:HeapDumpPath=/home/liuke/jvmlogs/
2. 發(fā)現(xiàn)程序異常前通過(guò)執(zhí)行指令,直接生成當(dāng)前JVM的dmp文件,6214是指JVM的進(jìn)程號(hào)
jmap -dump:format=b,file=serviceDump.dat 6214
由于第一種方式是一種事后方式,需要等待當(dāng)前JVM出現(xiàn)問(wèn)題后才能生成dmp文件,實(shí)時(shí)性不高,第二種方式在執(zhí)行時(shí),JVM是暫停服務(wù)的,所以對(duì)線上的運(yùn)行會(huì)產(chǎn)生影響。所以建議第一種方式。