gpt4 book ai didi

java - 如何捕获HeapDumpOnOutOfMemoryError

转载 作者:太空宇宙 更新时间:2023-11-04 11:38:23 26 4
gpt4 key购买 nike

我在 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/"

我在该目录下没有看到任何文件。它是在目录下创建一个文件还是我必须手动创建一个文件来附加?

最佳答案

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

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=

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

jmap -J-d64 -dump:format=b,文件=

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

jhat“转储文件的路径”。

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

关于java - 如何捕获HeapDumpOnOutOfMemoryError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43038355/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com