阿里推出的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:

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

阿里巴巴arthas诊断工具使用介绍相关推荐

  1. STM32调试诊断工具 | STM32CubeMonitor介绍、下载、安装和使用教程

    视频号 | strongerHuang 微信公众号 | strongerHuang 在2020年3月,ST官网上线了一款相对更强大的工具:STM32CubeMonitor. 它的出现是为了替代之前的S ...

  2. Arthas诊断工具(二)jadmcredefine命令

    官网Arthas Install - Arthas 3.5.6 文档 开源地址:https://github.com/alibaba/arthas 官方文档:https://alibaba.githu ...

  3. 阿里巴巴开源的 Java 诊断工具Arthas【入门篇】

    前面: 各位老铁们,好久没和大家见面了,最近一直躲在家里不敢出来门,过着像猪的生活..... 吃喝拉撒睡觉.远程在家办公一段时间也是遇到了比较棘手的问题.所以没有顾得上来和大家分享了,不过大家放心,从 ...

  4. Arthas使用教程 阿里巴巴开源项目、史上最强java线上诊断工具

    什么是 Arthas 摘录一段官方 Github 上的简介 Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱. 当你遇到以下类似问题而束手无策时,Arthas 可以帮助你解决: 这 ...

  5. 阿里巴巴开源的 Java 诊断工具:Arthas(阿尔萨斯)

    Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱. 当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决: 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exce ...

  6. 阿里内部的那个牛逼带闪电的Java诊断工具arthas终于开源了

    在阿里巴巴内部,有很多自研工具供开发者使用,其中有一款工具,是几乎每个Java开发都使用过的工具,那就是Arthas,这是一款Java诊断工具,是一款牛逼带闪电的工具.该工具已于2018年9月份开源. ...

  7. arthas 查看哪个方法调用最耗时_Java开源诊断工具Arthas使用方法详解

    一.前言 1.热更新代码的场景 (1)当线上服务器出现问题时,有些时候现有的手段不足以发现问题所在,可能需要追加打印日志或者增加一些调试代码,如果我们去改代码重新部署,会破坏问题现场,可以通过热部署的 ...

  8. Arthas : 在线分析诊断工具Arthas(阿尔萨斯)

    1.美图 2.背景 想学JDK自带的工具,BTrace然后,同事说这个过时了,但是我不是很相信,因为是JDK自带的工具,他推荐这个,于是我就来看看这个到底是什么东西. Arthas 是Alibaba开 ...

  9. Java诊断工具-Arthas入门与实践

    Java诊断工具-Arthas入门与实践 目录 Java诊断工具-Arthas入门与实践 什么是Arthas? Arthas能做什么? 我在哪里可以下载Arthas? 快速入门 1. 下载并运行mat ...

最新文章

  1. xilinx axi dma 深入开发(一)
  2. 【特征匹配】BRISK原文内容翻译
  3. 【Python】安利一个超好用的Pandas数据挖掘分析神器
  4. 提示缺少python.h解决办法
  5. php 重载等号,重载运算符
  6. c语言 变量 定义 使用,C语言为什么要规定对所用到的变量要“先定义,后使用”...
  7. 每日优鲜上市首日股价报收于9.66美元 目前总市值约22.74亿美元
  8. 【Java/Android性能优 7】Android公共库——图片缓存 网络缓存 下拉及底部更多ListView 公共类...
  9. mysql sql执行慢_Mysql执行查询语句慢的解决方式
  10. 关于Msocache文件夹
  11. 协同过滤和基于内容推荐有什么区别?
  12. 表格中复制后出现空格_尝过廉江这个美食后,已经连续3天出现在下午茶名单中!...
  13. 35岁的程序员:第9章,女测试
  14. js验证手机号、身份证号
  15. 老司机开车|消费升级如何具体化?
  16. 提升80%上云集成效率, TA是如何做到的
  17. Carson带你学Android:源码解析自定义View Draw过程
  18. 金立android怎么升级到7.o,金立手机怎么刷机?只需七步轻松刷机
  19. 刷题学习—算法思想(双指针、排序、回溯、二分法、滑动窗口、贪心、单调栈)
  20. 私募证券基金动态-12月报

热门文章

  1. 蚂蚁金服首席技术官--程立
  2. 【Kaggle】导致患心脏病的因素分析
  3. 每日一诗词 —— 致橡树
  4. 乐视显示无服务器,乐视手机账户无法使用 官方良心服务
  5. 【U8】客户端登录提示不能装载通讯模块
  6. mysql 配置中文支持_mysql 中文支持
  7. try - catch 语句真的会影响性能吗?
  8. Trouble with the Hubble
  9. 金蝶云星空管理中心,初始化密码
  10. 分析报告:云之家V9 VS 钉钉3.5