Arthas阿尔萨斯的使用安装详细教程

本篇文章是自学B站“御风大世界”视频的提炼和总结。
原视频见:Arthas使用教程
在这里插入图片描述

一、阿尔萨斯能解决什么什么问题

alibaba出品线上JVM监控诊断利器
1、是一个全局JVM运行时监控工具,实现了 CPU,线程,内存,堆栈信息等监控。
2、CPU飙高,可以快速定位是什么原因造成的。
3、接口没反应、卡住了,定位是不是死锁。
4、CTO说你们这个接口太慢了,要优化一下,可以准确找出耗时的代码。
5、我写的代码没有执行,是部署的分支不对,还是我压根没提交?
6、线上有一个低级错误,改起来很简单,能不能在不重启应用的情况下, 进行类替换, 热部署。

二、安装与命令

1.arthas 如何安装?
Arthas下载地址

比如我们下载到F盘,共享或者发送给linux
在这里插入图片描述

2.arthas 启动
启动前先运行Java程序,我们写了一个死循环
运行程序

    @Test
    public void test2() throws InterruptedException {
        while (true) {
            Thread.sleep(1000);
            System.out.println(123);
        }
    }

JVM配置如下:

-Xms10m -Xmx10m

图示如下:
在这里插入图片描述
注意:这里不一定非要启动main方法,只需要打开IDEA即可。
之后在arthas下载路径输入cmd,之后输入如下命令:建议模拟服务器环境用Linux进行如下的所有操作

java -jar arthas-boot.jar

在这里插入图片描述
这里我们输入1,会下载Arthas,这里注意1是打不开的,会报连接失败,因为IDEA占用了那个端口,所以我们选择3
在这里插入图片描述
通过help指令可以看到操作方式
在这里插入图片描述
dashboard 命令展示
输入

dashboard -h

如图,会列举其用法
在这里插入图片描述
输入指令,
解决问题1:实现了 CPU,线程,内存,堆栈信息等监控。

dashboard

在这里插入图片描述
输入指令

thread

在这里插入图片描述
查看某个具体的线程

thread 线程ID

在这里插入图片描述
指令:查看反编译当前类,查看内容

jad 类名

在这里插入图片描述
IDEA中下载插件arthas idea
在这里插入图片描述
想对某个方法进行Arthas的调用,可以右键选择,watch
在这里插入图片描述
这时候,命令到了剪切板之中,去命令行中右键粘贴即可。
在这里插入图片描述
回车后就可以抓到了
在这里插入图片描述
trace是对耗时的分析
在这里插入图片描述
会深入到方法内部,方法比较慢会标红高亮
在这里插入图片描述
stack是调用栈
在这里插入图片描述
可以看条件分支
在这里插入图片描述

monitor是对方法级别的监控
在这里插入图片描述
做压测的时候观测
在这里插入图片描述

三、实际应用

首先用命令

dashboard

查看空间使用情况,发现noheap内存和元空间占用率很高
在这里插入图片描述
某个线程的CPU使用率达到了90%多
在这里插入图片描述

进阶着使用命令,找出CPU利用率高的前5个线程

thread -n 5

定位到死循环的类
在这里插入图片描述

查看死锁的方式

thread

定位到2个死锁
在这里插入图片描述
使用指令

thread -b

在这里插入图片描述
时空隧道功能:重放请求

tt -t 全类名 方法名

在这里插入图片描述
使用指令

tt -i 索引

可以查看某个索引的请求
在这里插入图片描述
我们通过如下指令复现请求

tt -i 索引 -p

在这里插入图片描述

热力图:

profiler start
过一会儿
profiler stop

在这里插入图片描述
访问路径会看到一个热力图
在这里插入图片描述

四、自学途径

官网文档
github用户案例

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心向阳光的天域

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

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

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

打赏作者

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

抵扣说明:

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

余额充值