阿里巴巴arthas诊断工具使用介绍

    阿里推出的arthas诊断工具,是专门针对Java程序出现内存泄漏,CPU使用过高,线上问题运行错误进行诊断的工具。它的运行很简单,只需要下载一个arthas-boot.jar的工具包,然后通过java -jar arthas-boot.jar运行即可。一般是在程序执行有异常的那台机器上执行。环境自然是需要jdk支持的。

    这款工具在运行的时候,可以识别java进程,并且可以查看主线程,以及通过反编译查看某个类的源代码,因此在线上排查问题很方便。

   本文基本就是在官方文档的基础上照搬而来。算是自己学习的过程。

   下载arthas-boot.jar

curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar

    可以直接使用arthas提供的产生随机数的示例,这里也可以自己编写一个Java程序来测试。

    Hello.java

public class Hello {

   public static void main(String[] args){
     boolean flag = false;
     while(!flag){

     }
     System.out.println("done.");
   }
}

    编译 javac Hello.java,然后运行 java Hello。

    新开一个终端,运行arthas-boot.jar。

    这一步,会提示用户输入一个数字,默认输入1,指Hello这个java进程,如果有多个java进程,这里选择自己要观察的那个回车即可,之后进入arthas控制台。

 

     在控制台这里,可以输入很多命令,最基本的dashboard,thread,jad,分别是查看仪表盘,查看线程信息,反编译class看源码。

    输入dashboard之后的界面如下所示:

    在这个仪表盘上,可以看到一个id=1的线程是main主线程,接着,先ctrl+c退出仪表盘界面,可以输入thread 1,查看它的信息(这里的id=1与前面arthas启动之后提示的Hello进程序列号1不是一个意思):

    我们在线上排查问题,有可能发现代码不是我们提交到git仓库中的代码,这时候,需要我们反编译一下类信息,这里可以输入jad Hello:

    有了源码,自然就能知道是否是我们提交的代码,而不用盲目地排错。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luffy5459

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值