Arthas(阿尔萨斯)简记

Arthas(阿尔萨斯) 能做什么?

_images/arthas.png

Arthas 是Alibaba开源的Java诊断工具,深受开发者喜爱。

当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:

  1. 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?

  2. 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?

  3. 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?

  4. 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!

  5. 是否有一个全局视角来查看系统的运行状况?

  6. 有什么办法可以监控到JVM的实时运行状态?

  7. 怎么快速定位应用的热点,生成火焰图?

Arthas支持JDK 6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。

一 官方文档

https://arthas.aliyun.com/doc/

二 安装使用流程(windows环境)

1. 下载安装Arthas

使用arthas-boot(推荐)

下载arthas-boot.jar

然后用java -jar的方式启动:

例如如图 本地服务进程15912对应的是 3,所以我们输入 3

这样Arthas会attach到目标进程上,并输出日志

1. 查看dashboard(上帝视角)

输入dashboard,按回车/enter,会展示当前进程的信息,按ctrl+c可以中断执行。

2.更多命令可查看官网 

https://arthas.aliyun.com/doc/commands.html

三 问题以及解决办法

1.启动报错

运行 :java -jar ~/arthas-boot.jar

报错:

  1.  [INFO] arthas-boot version: 3.3.9

  2.  [INFO] Can not find java process. Try to pass <pid> in command line.

  3.  Please select an available pid.

原因:---- 只装jre的环境或者安装的是严格版的jre 没办法运行 arthas-boot.jar ,需要安装完整的jdk。

2.   运行提示不存在java命令 

java -jar ~/arthas-boot.jar  

报错:

提示没有java命令

原因:---- 没有配置jdk环境,需要配置jdk环境 或者 到指定jdk安装目录的bin目录下执行 

3. 选择进程对应的编号之后,报错 

The telnet port 3658 is used by process 20017 instead of target process 18957, you will connect to an unexpected process.

原因: -- 之前已经使用Arthas运行了20017的进程,但是没有退出,先要进到原来的监控中运行stop命令。 

4. 启动报错

运行 : ./java -jar /home/hik/arthas/arthas-boot.jar

报错:

解决办法 : 运行时加上进程号 java -jar ~/arthas-boot.jar 8086

参考地址:https://www.cnblogs.com/alisystemsoftware/p/13107988.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值