2010-02-26 52 views

回答

7

您必須使用the correct arguments,啓動Java進程,這些進程根據JVM版本的不同而有所不同。然後,發送一個QUIT信號給進程以生成一個新文件。

輸出通常在VM退出時生成,但可以通過將「退出時轉儲」選項設置爲「n」(doe = n)來禁用。此外,按下Ctrl- \或Ctrl-Break(取決於平臺)時會生成一個配置文件。在Solaris OS和Linux上,當收到QUIT信號時也會生成配置文件(kill -QUIT pid)。如果多次按下Ctrl- \或Ctrl-Break,則會爲一個文件生成多個配置文件。

1

VisualVM可以幫助您深入瞭解您的過程正在做什麼,包括在運行過程中任意強制堆轉儲的能力。

+0

不回答這個問題。 – Ztyx 2015-07-15 12:45:04

47

是的。您可以生成一個HPROF文件中使用JMAP工具,上飛(含堆內存使用量),其中附帶Sun公司的Java VM:

JMAP轉儲:文件= < FILE_NAME> < PID>

+0

感謝您的回答。另外,您可以使用jps快速查找Java進程的pid。 – 2011-07-13 13:43:07

0

jconsole現在可以創建轉儲到應用程序的當前工作目錄。

  1. 連接到您的JMX啓用實例
  2. 導航到com.sun.management - > HotspotDiagnostic - >操作
  3. 在P0命名填補堆轉儲
  4. 按HEAPDUMP按鈕

Jconsole Screen Shot

相關問題