2007/11/14

Parâmetros JVM para geração heap dump em situações de falta de memória

De modo a diagnosticarmos situações de OutOfMemory poderá ser útil passar o parâmetro HeapDumpOnOutOfMemoryError à JVM (especialmente interessante em ambientes de produção, mas não só...)

VM Option
Description

-XX:+HeapDumpOnOutOfMemoryError

Dump heap to file when java.lang.OutOfMemoryError is thrown. Manageable. (Introduced in 1.4.2 update 12, 5.0 update 7.)

-XX:HeapDumpPath=./java_pid<pid>.hprof

Path to directory or filename for heap dump. Manageable. (Introduced in 1.4.2 update 12, 5.0 update 7.)

Java HotSpot VM Options
http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp

Os ficheiros de heap podem ser analisados com o jhat
http://java.sun.com/javase/6/docs/technotes/tools/share/jhat.html

HAT - Versões mais antigas do HAT (versões recentes incluidas com Java SE 6 ou superior)
https://hat.dev.java.net/

Algumas outras ferramentas:
JXInsight
http://www.jinspired.com/products/jxinsight/

NetBeans Profiler
http://www.netbeans.org/products/profiler/

Eclipse Test & Performance Tools Platform Project
http://www.eclipse.org/tptp/