开源诊断工具Arthas

说明:

1、需要先要安装配置好jdk。

2、你的虚拟机得有网,没有网就按照压缩包上传解压。然后直接看三

一、官网

https://arthas.aliyun.com/doc/quick-start.html#_1-启动-math-game

二、下载和卸载

powershell 复制代码
# 下载
curl -O https://arthas.aliyun.com/arthas-boot.jar

# 卸载
rm -rf ~/.arthas/
rm -rf ~/logs/arthas

三、启动

powershell 复制代码
# 这个命令在要在有java进程的时候执行,作用是启动Arthas
java -jar arthas-boot.jar

这样就启动成功了

启动成功后,会生成两个文件夹

powershell 复制代码
~/.arthas/
~/logs/arthas


在.arthas里面,还可以找到官方演示用的例子,java -jar启动这个,后面用这个做说明

powershell 复制代码
ls ~/.arthas/lib/4.0.4/arthas//

4、快速启动跟进一个进程

启动一个进程,如官方的演示进程后,在启动arthas,选择需要跟进的进程,这块选演示进程了

注意:如果保存,可以杀死那个占用端口的进程,或者换一个端口

powershell 复制代码
# 这里 --telnet-port 9998 指定了一个新的 Telnet 端口号,
# 而 --http-port -1 表示禁用 HTTP 服务(如果不需要的话)。
# 你可以选择任何未被使用的端口号。
java -jar arthas-boot.jar --telnet-port 9998 --http-port -1

5、常用命令

  1. dashboard 仪表盘
    作用是展示一个仪表盘,按q退出
powershell 复制代码
dashboard
  1. cls

清屏

powershell 复制代码
cls
  1. thread
    查看所有线程,后面可以跟一个数字,表示要看哪一个线程
powershell 复制代码
thread
# 比如这里要看主线程相关状态可以写
thread 1


  1. jad

可以进行反编译你需要的类

powershell 复制代码
# 这里是反编译demo包下的MathGame类
jad demo.MathGame

5.watch

监视方法

powershell 复制代码
# 监视demo包下,MathGame类 primeFactors方法的返回值
watch demo.MathGame primeFactors returnObj
# 观察函数调用返回时的参数、this 对象和返回值
watch demo.MathGame primeFactors -x 2
# 观察函数调用入口的参数和返回值
$ watch demo.MathGame primeFactors "{params,returnObj}" -x 2 -b
# 同时观察函数调用前和函数返回后 
# 参数里-n 2,表示只执行两次-n 2
watch demo.MathGame primeFactors "{params,target,returnObj}" -x 2 -b -s -n 2
  1. 退出
powershell 复制代码
# 退了但是没有完全退,下次用可以直接连上
quit
# 这个是真退了,下次就是重现链接
stop
相关推荐
DolphinScheduler社区34 分钟前
真实迁移案例:从 Azkaban 到 DolphinScheduler 的选型与实践
java·大数据·开源·任务调度·azkaban·海豚调度·迁移案例
猫头虎2 小时前
昆仑芯 X HAMi X 百度智能云 | 昆仑芯 P800 XPU/vXPU 双模式算力调度方案落地
人工智能·百度·开源·aigc·文心一言·gpu算力·agi
说私域4 小时前
开源AI智能名片链动2+1模式S2B2C商城系统下消费点评的信任构建机制研究
人工智能·开源
福大大架构师每日一题4 小时前
⽬前 主流的开源模型体系 有哪些?
chatgpt·开源
万岳科技系统开发4 小时前
外卖开源系统源码设计思路:商家、骑手、用户三端一体化方案
开源
那些免费的砖6 小时前
Reka UI - 一款免费开源的 Vue 无头 UI 组件库,样式定制开发项目的绝佳选择
vue.js·ui·开源
DolphinScheduler社区6 小时前
Apache DolphinScheduler 3.3.2 正式发布!性能与稳定性有重要更新
大数据·开源·apache·任务调度·海豚调度·发版
SeaTunnel6 小时前
Apache SeaTunnel 支持 Metalake 开发了!避免任务配置敏感信息暴露
大数据·开源·apache·个人开发·数据集成·seatunnel·看开源之夏
CtrlZ学习录9 小时前
笔记:现代操作系统:原理与实现(8)
linux·笔记·架构·开源
GitCode官方10 小时前
GitCode「开源星期六」第三期回顾:鸿蒙 AI 融合开发的新突破与实践路径
开源·gitcode