JProfiler监控案例--内存泄漏分析(1)

JProfiler监控案例–内存泄漏分析

通过具体例子要验证内存泄漏时,JProfiler监控上CPU、memory、GC等监控变化,以及怎么去分析查找内存泄漏原因。
下面的方法监控及验证,主要适合本地压测、本地代码功能性能验证。

1、模拟泄漏的代码

方法中for循环会一直执行,不停给list添加对象。

List<Integer> temp = new ArrayList<>();
 for(int i=0;i>=0;i++){
     temp.add(i);
 }

2、准备好初始监控环境

JProfiler连接启动,进入“Live memory”视图,“Run GC”----->“Mark Current”。
在这里插入图片描述

3、执行方法

执行要验证的方法----->接着“Run GC”,点击“update”按钮,进行视图更新----->观察“Difference”列信息。
在这里插入图片描述
从上面发现,正偏移量剧增,表明有内存一直不能释放。

4、通过引用分析该对象情况

找到增长快速的对象类型,右键,选择“Show Selectiion In Heap Walker”,切换到HeapWarker 视图。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过上面的“incoming references”、“outgoing references”等分析可以基本判断,哪个对象出现问题。在进入代码中就可以定位到问题所在。

5、Telemetries遥测上各个指标的情况

在这里插入图片描述
在这里插入图片描述
第一幅截图是,执行有内存泄漏的方法;第二幅截图是正常方法。可以发现,如果有内存泄漏,那么会出现memory持续走高,并且GC一直在进行。一般正常方法请求的话,GC不会这么频繁出现。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要使用JProfiler来查看内存泄漏,可以按照以下步骤进行操作: 1. 打开JProfiler,创建一个新的会话。 2. 在会话中,找到内存视图。内存视图提供了动态更新的内存使用情况以及分配点的信息视图。 3. 在内存视图中,你可以查看当前存在的对象和作为垃圾回收的对象。通过观察对象的引用关系和内存占用情况,可以识别潜在的内存泄漏问题。 4. JProfiler还提供了一些分析工具,例如Heap Walker和Allocation Call Tree,可以帮助你更深入地分析内存泄漏的原因和定位问题的根源。 5. 如果你已经确定某个对象存在内存泄漏,可以使用JProfiler的快照功能,记录下当前内存的状态,以供后续分析和比较。 总结起来,使用JProfiler来查看内存泄漏,你可以通过内存视图和分析工具来观察对象的引用关系和内存使用情况,以找出潜在的问题并进行深入分析。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [jprofiler 查看程序内存泄露](https://blog.csdn.net/qilixiang012/article/details/43270311)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Java剖析工具JProfiler查找内存泄漏](https://blog.csdn.net/stefan520/article/details/8961627)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DreamBoy_W.W.Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值