栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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做线上断点调试等等,自己下载一个试试吧。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/771033.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号