Arthas的概述与安装

概述

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

image-20211030110317239

做好的项目在服务器上面,在运行的过程当中可能会出现各种奇怪的现象,在实际线下有时候发现不了,想要在线上找出一些问题。

  • 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
  • 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
  • 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
  • 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
  • 是否有一个全局视角来查看系统的运行状况?
  • 有什么办法可以监控到 JVM 的实时运行状态?
  • 怎么快速定位应用的热点,生成火焰图?

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

安装

windows

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

image-20211030111112969

image-20211030111346989

第一次运行的时候发现本地没有 arthas 安装包,就会到远程下载,下载到了:C:\Users\30315.arthas\lib\3.5.4\arthas,你的可能和我的不一样就是路径当中的用户名不一样而已其它的都是一样的:

image-20211030111635826

Linux

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

image-20211030121240936

在输入 java -jar arthas-boot.jar 之前先上传一个 math-game.jar 目的就是运行一个 java 进程,而且它官方测试的时候也是用这个 jar 进行测试,首先需要上传到 Linux 当中 math-game.jar 文件位置就在上面 arthas 的依赖安装路径当中如下图:

image-20211030122505385

image-20211030122526502

然后这个时候你就可以输入 java -jar arthas-boot.jar 来进行启动进行测试相关内容了:

image-20211030122641241

image-20211030122808970

如果启动的时候端口被占用可以使用如下命令进行修改启动端口:

java -jar arthas-boot.jar --telnet-port 9001 --http-port -1

也可以在浏览器进行连接,在浏览器输入:http://ip:3658/ 这个内容是官方给出的如下图所示:

image-20211030125158872

End

posted @ 2021-10-30 12:54  BNTang  阅读(390)  评论(0)    收藏  举报