在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ 如何獲取JVM核心dump(core dump)?

如何獲取JVM核心dump(core dump)?

想通過sa-jdi.jar中的ClassDump將虛擬機(jī)加載的類都dump下來。

ClassDump支持從jvm進(jìn)程或者jvm core dump中dump類。

線上應(yīng)用,不該直接對pid進(jìn)行dump,想要先獲取一個(gè)core dump。

在visual vm中,可以讀取core dump文件。

clipboard.png

但是不知道如何獲取core dump。
回答
編輯回答
深記你
kill -3 pid

linux 下不同應(yīng)用的響應(yīng)行為不太一樣,對jvm來說默認(rèn)會(huì)在標(biāo)準(zhǔn)輸出顯示出來
可以通過 >重定向到文件。

$ jps
20226 jar
20383 Jps
$ kill -3 20226

2018-08-30 13:09:04
Full thread dump OpenJDK 64-Bit Server VM (25.181-b13 mixed mode):

"TimerQueue" #23 daemon prio=5 os_prio=0 tid=0x00007fa70c04f000 nid=0x4f1e waiting on condition [0x00007fa72056d000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x000000076d530c48> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at java.util.concurrent.DelayQueue.take(DelayQueue.java:211)
    at javax.swing.TimerQueue.run(TimerQueue.java:174)
    at java.lang.Thread.run(Thread.java:748)

"DestroyJavaVM" #22 prio=5 os_prio=0 tid=0x00007fa79400a800 nid=0x4f03 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"AWT-EventQueue-0" #17 prio=6 os_prio=0 tid=0x00007fa79461b800 nid=0x4f19 waiting on condition [0x00007fa7222e7000]
   java.lang.Thread.State: WAITING (parking)
    at sun.misc.Unsafe.park(Native Method)
    - parking to wait for  <0x00000006c6201be0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
    at java.awt.EventQueue.getNextEvent(EventQueue.java:554)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:187)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
......
2017年2月19日 00:24