问答
天翼云开发者社区

openjdk oom 的 dump 文件怎么分析?

回答(3) 关注(0) 浏览(84)

用 openjdk 跑的 java 应用,发生 OOM 后产生了 core.*.dmp, heapdump.*.phd 格式的文件,怎么用于分析 OOM 的原因?

用 openjdk 跑的 java 应用,发生 OOM 后产生了 core.*.dmp, heapdump.*.phd 格式的文件,怎么用于分析 OOM 的原因?

朱****斌  · 发表于2022-11-25 11:41:43
3 个回答
  • 热门排序
  • 回答(3) 写回答
    j****n  ·  回答于2023-04-16 01:19:19 2023-04-16 01:19:19

    OOM分析--heapdump 要dump堆的内存镜像,可以采用如下两种方式: • 设置JVM参数-XX:+HeapDumpOnOutOfMemoryError,设定当发生OOM时自动dump出堆信息。不过该方法需要JDK5以上版本。 • 使用JDK自带的jmap命令。"jmap -dump:format=b,file=heap.bin <pid>" 其中pid可以通过jps获取。 dump堆内存信息后,需要对dump出的文件进行分析,从而找到OOM的原因。常用的工具有: • mat: eclipse memory analyzer, 基于eclipse RCP的内存分析工具。 • jhat:JDK自带的java heap analyze tool,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言OQL,分析相关的应用后,可以通过http://localhost:7000来访问分析结果。不推荐使用,因为在实际的排查过程中,一般是先在生产环境 dump出文件来,然后拉到自己的开发机器上分析,所以,不如采用高级的分析工具比如前面的mat来的高效。

    OOM分析--heapdump 要dump堆的内存镜像,可以采用如下两种方式: • 设置JVM参数-XX:+HeapDumpOnOutOfMemoryError,设定当发生OOM时自动dump出堆信息。不过该方法需要JDK5以上版本。 • 使用JDK自带的jmap命令。"jmap -dump:format=b,file=heap.bin <pid>" 其中pid可以通过jps获取。 dump堆内存信息后,需要对dump出的文件进行分析,从而找到OOM的原因。常用的工具有: • mat: eclipse memory analyzer, 基于eclipse RCP的内存分析工具。 • jhat:JDK自带的java heap analyze tool,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言OQL,分析相关的应用后,可以通过http://localhost:7000来访问分析结果。不推荐使用,因为在实际的排查过程中,一般是先在生产环境 dump出文件来,然后拉到自己的开发机器上分析,所以,不如采用高级的分析工具比如前面的mat来的高效。

    张****奇  ·  回答于2022-12-10 19:19:01 2022-12-10 19:19:01

    使用jconsole工具 JConsole是一个允许用户监控并管理 Java 应用程序行为的图形工具。 使用JConsole工具调用JMX服务的com.sum.management.HotSpotDiagnostic.setVMOption方法来实现。

    使用jconsole工具 JConsole是一个允许用户监控并管理 Java 应用程序行为的图形工具。 使用JConsole工具调用JMX服务的com.sum.management.HotSpotDiagnostic.setVMOption方法来实现。

    韦****生  ·  回答于2022-11-25 18:17:19 2022-11-25 18:17:19

    用 Eclipse Memory Analyzer,【Help】-【Install New Software...】 点击【Add】 Name 填:IBM Monitoring and Diagnostic Tools】 Location填:http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/runtimes/tools/dtfj/ 一路点击next直到安装完成,重启 Eclipse Memory Analyzer,【File】-【Open Heap Dump...】,用 Leak Suspects Analyzer 分析

    用 Eclipse Memory Analyzer,【Help】-【Install New Software...】 点击【Add】 Name 填:IBM Monitoring and Diagnostic Tools】 Location填:http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/runtimes/tools/dtfj/ 一路点击next直到安装完成,重启 Eclipse Memory Analyzer,【File】-【Open Heap Dump...】,用 Leak Suspects Analyzer 分析

    • 收藏
    • 写回答