2010-04-13 81 views
2

我現在需要什麼時候jvm產生hprof轉儲而不是內存不足的情況。 例如,當CPU使用率很高時,它會產生一個hprof嗎? 我看到hprof文件產生,並沒有內存不足的情況。JVM何時產生轉儲,而不是內存不足

+0

您是否嘗試過分析hprof數據? – fglez 2010-04-22 13:34:56

回答

0

我不會「自動」產生堆轉儲只有當內存不足的,如果它被配置爲在啓動這樣做(例如-XX:-HeapDumpOnOutOfMemoryError對於Sun JVM)...

但你也可以發送信號給JVM以請求在solaris上進行轉儲(例如kill -Quit pid)...

因此,它取決於操作系統和JVM,但可以要求轉儲。 ..

+0

轉儲在solaris上,但我有一個70MB轉儲,其中最大堆大小爲1 GB。此外,轉儲看起來不像內存不足轉儲。沒有人要求轉儲。 – onur 2010-04-13 11:17:53

0

另外,JVM在本地庫拋出一個觀點時創建一個核心轉儲。

+0

我不是指核心轉儲。我有一個_pid.hprof轉儲,它是80 mbs,最大堆大小是1 GB。我看不到轉儲時出現內存不足的情況。必須有別的東西。 – onur 2010-04-16 11:47:18

0

啓動應用程序時傳遞了哪些命令行JVM選項?有許多HPROF選項;有些像cpu=samples,每次JVM退出時都寫出一個轉儲文件。