阿里黑科技-在线排查工具arthas

arthas安装及使用官网

https://alibaba.github.io/arthas/install-detail.html
https://github.com/alibaba/arthas/blob/master/README_CN.md

java -jar arthas-boot.jar启动
可以看到日志输出的java进程,输入进程序号回车,arthas会attach到java进程中

常用命令

jvm
比jinfo强大的多,可以看到年代垃圾回收算法详情,线程数,内存情况等等信息

thread
相当于jstack,可以观察线程类型的问题
可以通过thread提供的线程列表中的线程号,使用thread 线程号,查看该线程的具体情况和代码调用

dashboard
相当于top,可以观察整个系统情况

heapdump 文件目录/文件名(不指定默认到/tmp)
导出堆转储文件,肯定会影响服务器,造成卡顿,尽量不要导。jmap方式 jmap -dump:format=b,file=xxx pid

1、导出的堆转储文件,可以用jdk自带的jhat 文件名进行分析,如果文件过大,需要加参数 -J-mx512M 扩大它的解析内存
2、jhat会提供一个http端口,可以通过页面观察文件情况,在页面最下方 Show instance counts for all classes (including platform),可以看到类似于jmap的对象数量数据情况
3、还有一个Execute Object Query Language (OQL) query 使用类似于sql的查询功能,哈哈
eg: select s from java.lang.String s 注意都需要加别名才可以
点击具体的对象,可以看到对象的实例数、有多少对象引用等等
4、jvisualVM也有OQL的查询功能,如果能拿到本地,用jvisualVM把!

jad 类绝对路径 反编译
可以查看诸如,代码版本问题,第三方类问题等等

redefine 热替换
可以改动方法实现。 方法名和属性不要改,替换class文件
使用redefine class文件 实现热替换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值