Java诊断工具Arthas,Centos7下部署使用

Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。在线排查问题,无需重启;动态跟踪Java代码;实时监控JVM状态。

详细教程请前往官网学习

1.下载:

wget https://alibaba.github.io/arthas/arthas-boot.jar

在这里插入图片描述

2.启动:

java -jar arthas-boot.jar

运行Arthas,第三行开始会显示一个列表,输入列表里需要监听的JAVA进程对应的数字(想进如第三个进程,就输入3,回车。),会自动进入Arthas交互命令行.
在这里插入图片描述

3.进入Arthas:

选择你想要诊断的进程(ps -ef| grep java 查询一下进程),回车即可。
在这里插入图片描述

4.help命令查看更多功能:

在这里插入图片描述
如果不知道命令的用法,可以输入相应的命令后加参数–help,比如可以看一下thread命令的用法:
在这里插入图片描述

5.常用指令:

5.1 cpu占用过高

thread命令把所有线程按照cpu占用率从高到低列出来。
在这里插入图片描述
通过thread加线程id输出改线程的栈信息,快速定位问题。
在这里插入图片描述

5.2死锁

还是用thread命令,参数是-b,jstack工具检测死锁功能相似。

5.3内存泄漏

dashboard命令来动态查看内存情况
在这里插入图片描述
类似jmap工具,如果需要排查内存泄露,直接用heapdump命令把内存快照dump出来,

heapdump --live /root/jvm.hprof

在这里插入图片描述
在这里插入图片描述
拿到dump文件,用JDK自带的Java性能分析工具,在JDK的bin目录下jvisualvm解析一下就可以了。
在这里插入图片描述

5.4 classloader

查看当前系统中有多少类加载器,以及每个加载器加载的类数量,帮助判断是否有类加载器泄露.
在这里插入图片描述

5.5 jad 命令(反编译源代码)

反编译出已加载类的源代码,如果没有线下环境,我们可以在线上查看到底哪行代码出问题。

jad com.hessianhealth.web.controller.gene.GeneController

在这里插入图片描述
在这里插入图片描述

总结:

科技改变生活,马云爸爸手下的团队确实在造福开发者,还有很多强大的功能比如使用watch和trace做线上断点调试等等,自己下载一个试试吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值