首页 文章

如何捕获HeapDumpOnOutOfMemoryError

提问于
浏览
1

我在tomcat 7.0.55中部署了一个应用程序进行测试 . 我想捕获是否正在发生“HeapDumpOnOutOfMemoryError” . 以下是我的JVM参数 .

JAVA_OPTS =“ - server -Xms512M -Xmx2048M -XX:PermSize = 256m -XX:MaxPermSize = 512m -XX:UseConcMarkSweepGC -XX:UseParNewGC -XX:ThreadStackSize = 512 -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath = / apps / dumps /”

我在目录下看不到任何文件 . 它是在目录下创建文件还是我手动创建要追加的文件?

2 回答

  • 0

    您可以按如下方式使用它:

    -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath =

    如果您知道进程ID,也可以使用jmap手动生成内存映射:

    jmap -J-d64 -dump:format = b,file =

    您可以使用JHat来分析转储 .

    jhat“转储文件的路径” .

    默认情况下,堆转储是在VM的工作目录中名为java_pid.hprof的文件中创建的,如上例所示 . 您可以使用-XX:HeapDumpPath =选项指定备用文件名或目录 . 例如-XX:HeapDumpPath = / disk2 / dumps将导致在/ disk2 / dumps目录中生成堆转储 .

  • 0

相关问题