2011-11-29 26 views
4

根據documentation,當應用程序遇到OutOfMemoryException時,可以自動進行堆轉儲。
OutOfMemoryException進程從左側菜單中消失後。
此功能在VisualVM中如何工作?Java VisualVM在OOME上啓用Heap Dump

謝謝。


C:\工作\ TEMP>的java -XX:HeapDumpPath = C:/work/temp/file.hprof -XX:+ HeapDumpOnOutOfMemoryError -jar example.jar

+0

您可以分析堆轉儲程序退出後。 –

+0

我在哪裏可以找到它(堆轉儲)?在手工生成後,它會在左邊的菜單中出現。 「自動轉儲」複選框啓用後沒有任何反應。 –

+1

通常,它是應用程序的工作目錄。 –

回答

3

似乎應用在OOM剛剛退出。在這種情況下,您必須使用特殊的-XX params運行您的應用程序。請參閱JVM documentation中的「dump」參數。應用程序死後,您可以檢查工具中的轉儲。

+0

當拋出java.lang.OutOfMemoryError時,使用相同的方法可以將堆轉儲到文件。只是想知道什麼是「視覺工具」? –

+0

我猜VisualVM只是無法應付將要退出的應用程序。 –

+0

我的工具質量很差。我希望它邏輯上顯示快照在同一地點,無論過程活躍。 –