首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Jprofile解析dump文件使用详解

Jprofile解析dump文件使用详解

原创
作者头像
JavaEdge
修改2020-03-02 07:09:06
修改2020-03-02 07:09:06
1.8K0
举报
文章被收录于专栏:JavaEdgeJavaEdge

1 Jprofile简介

  • 下载对应的系统版本即可

性能查看工具JProfiler,可用于查看java执行效率,查看线程状态,查看内存占用与内存对象,还可以分析dump日志.

2 功能简介

  • 选择attach to a locally running jvm
  • 选择需要查看运行的jvm,双击或者点击start
  • 等待进度完成,弹出模式选择
  • Instrumentation模式记录所有的信息。包括方法执行次数等Sampling模式则只支持部分功能,不纪录方法调用次数等,并且更为安全 由于纪录信息很多,java运行会变的比正常执行慢很多,sampling模式则不会
  • 常规使用选择sampling模式即可,当需要调查方法执行次数才需要选择Instrumentation模式,模式切换需要重启jprofiler
  • 点击OK
  • 选择Live Momory可以查看内存中的对象和大小
  • 选择cpu views点击下图框中的按钮来纪录cpu的执行时间
  • 这时候可以在外部对需要录的jvm操作进行记录了,得出的结果可以轻松看出方法执行调用过程与消耗时间比例:
  • 根据cpu截图的信息,可以找到效率低的地方进行处理,如果是Instrumentation模式则在时间位置会显示调用次数

在Thread界面则可以实时查看线程运行状态,黄色的是wait 红色是block 绿色的是runnable蓝色是网络和I/O请求状态

选择ThreadDumps,可以录制瞬时线程的调用堆栈信息,如下图所示:

3 dump 文件分析

3.1 dump 生成

JProfiler 在线

当JProfiler连接到JVM之后选择Heap Walker,选择Take snapshot图标,然后等待即可

如果内存很大,jprofiler万一参数设置的不正确打不开就需要要重新生成,内存小的时候无所谓

使用JProfiler生成文件

当JProfiler连接到JVM之后选择菜单上的Profiling->save HPROF snapshot 弹出下拉框保存即可,这时候生成的文件就可以一直保存在文件上

jmap

代码语言:javascript
复制
jmap -dump:format=b,file=文件名 pid

windows下不用[],路径要加引号

jmap -dump:format=b,file="D:\a.dump" 8632

命令中文件名就是要保存的dump文件路径, pid就是当前jvm进程的id

JVM启动参数

在发生outofmemory的时候自动生成dump文件:

代码语言:javascript
复制
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\heapdump

Pah后面是一个存在的可访问的路径,将改参数放入jvm启动参数可以在发生内存outofmemory的时候自动生成dump文件,但是正式环境使用的时候不要加这个参数,不然在内存快满的时候总是会生成dump而导致jvm卡半天,需要调试的时候才需要加这个参数

注意:通过WAS生成的PHD文件dump不能分析出出问题的模板,因为PHD文件不包含对象的值内容,无法根据PHD文件找到出问题的模板,所以PHD文件没有太大的参考价值

3.2 dump文件分析

dump文件生成后,将dump压缩传输到本地,不管当前dump的后缀名是什么,直接改成*.hprof,就可以直接用jprofiler打开了

打开的过程时间可能会很长,主要是要对dump进行预处理,计算什么的,注意 这个过程不能点skip,否则就不太好定位大文件

  • 直接打开.hprof文件
  • 注意如下过程,中途可以喝一杯☕️,不要作死手滑点击了 skip!

这样界面的时候下面可以开始进行操作了!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 1 Jprofile简介
  • 2 功能简介
  • 3 dump 文件分析
    • 3.1 dump 生成
      • JProfiler 在线
      • 使用JProfiler生成文件
      • jmap
      • JVM启动参数
    • 3.2 dump文件分析
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档