Java性能分析工具

本文介绍了阿里巴巴开源的Java诊断工具Arthas,可用于实时监控应用性能,诊断问题,如查看方法调用、火焰图和内存分析。同时提到Grace作为其扩展,提供内存、线程和GC日志分析功能,帮助快速定位和解决应用程序中的问题。
摘要由CSDN通过智能技术生成

Arthas

官网:简介 | arthas

Arthas 是 Alibaba 开源的 Java 诊断工具,深受开发者喜爱。Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。

Arthas生成火焰图命令:

profiler start
// 等10s
profiler stop

结束后会产出一个火焰图。

纵坐标:调用栈,即下层函数是上层函数的父函数。(有些火焰图是倒置的,正好相反)

横坐标:函数占用cpu百分比。

横坐标越大,说明该函数越耗时,就越可能是性能瓶颈。

Grace

Grace

Grace是一款开源用于解决应用程序中出现的常见问题的软件,其开源版本为Jifa,前身为Zprofiler。支持内存分析、线程分析、GC日志分析等功能。
GitHub - eclipse/jifa: 🔬 An open-source project that makes troubleshooting easy.
 

内存分析


从不同维度查看堆内存

在泄漏报表里可以看出内存泄漏对象。

Shallow Size:Shallow Size是指实例自身占用的内存, 可以理解为保存该'数据结构'需要多少内存, 注意不包括它引用的其他实例。
Retained Size:实例A的Retained Size是指, 当实例A被回收时, 可以同时被回收的实例的Shallow Size之和。

根据对象地址在"Inspector"搜索栏里搜索,得到这个对象里的所有字段以及对应的大小,一般Retained Size最大的就是泄漏的字段。


线程分析

GC日志分析


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值