正在搬运下一页::>_<:: . . .

用JProfiler进行dump分析记


dump分析

工具:JProfilter10.0

激活码:L-qOQRsFcEcF-LqVM1lqxQm#1437

0.使用工具JProfiler载入dump.hprof文件

1.首先打开Biggest Objects,看到一个6G的ArrayList,明显有问题

2.右键之,选择Use Selected Instances,然后下拉框选择Outgoing references

3.展开发现其长度达到四千万,且都是相同数组元素

故认定这是个填报的笛卡尔积问题

4.再寻找引用,选择Incoming reference,点击Show Paths To GC Root

可以发现是线程 http-apr-8080-exec-55 的栈的引用

5.点击Go To Start

6.依次选择如图选项,选择http-apr-8080-exec-55线程,点击Calculate inspection and create a new object set

7.再次选择Outgoing reference,然后ctrl+F搜索ReportSessionIdInfo

8.找出问题模板,可以从模板设计和填报数据两个方面分析

9.结论

考虑是填报时的输入数据有误,当数据库记录中有多条记录的某个字段相同,例如上面的id有重复,当把这个字段作为单元格值的过滤条件时,单元格会有多个值,数据的过滤关系丢失,填报时计算笛卡尔积占用过多内存资源导致宕机。


畅所欲言
 上一篇
Hello MongoDB Hello MongoDB
HelloMongoDB - MongoDB的学习之路(还很长) 官网:https://www.mongodb.com/try 一.安装和使用进入官网,一般本地使用的话还是选择On-Premises,学习的话下载社区版就够用了。 我使用的
下一篇 
评论、TOC、顶部按钮样式适配 评论、TOC、顶部按钮样式适配
评论、TOC、顶部按钮样式适配1.修改按钮背景CSS样式hexo\themes\hexo-theme-matery-master\source\css\matery.css 在matery.css文件中找到并修改四个样式: .top-sc
2020-12-17
  目录