使用arthas监控诊断java应用
简介
arthas是阿里的一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。
安装使用
参考
常用命令
使用dashboard查看当前应用整体信息
dashboard命令详解
包含有jvm信息,查看各代内存占用,查看gc次数和平均时间判断是否频繁gc(容易引起cpu升高)
dashboard
使用thread观测应用所有线程
thread命令详解
## 查看当前线程情况
thread## 查看线程cpu占用 top 5
thread -n 5
使用watch查看方法调用入出参数的实时值
watch命令详解
watch <类全名> <方法名>
使用trace追踪方法调用栈和耗时
trace命令详解
可以在没有源码的情况下根据方法调用栈逐层追踪
trace <类全名> <方法名>
默认不会追踪JDK自带的方法,如果需要追踪方法内部的new Thread
等线程调用,需要带参数--skipJDKMethod false
查看对象内部属性
ognl命令详解
## 格式例:ognl '@类全名@内部属性.<属性方法>'
ognl '@com.xxx.XXXQueue@queue.size()
更多案例
参考