开源诊断工具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
相关推荐
山河已无恙7 小时前
基于 DeepSeek LLM 本地知识库搭建开源方案(AnythingLLM、Cherry、Ragflow、Dify)认知
开源·知识库·deepseek
AI服务老曹8 小时前
运用先进的智能算法和优化模型,进行科学合理调度的智慧园区开源了
运维·人工智能·安全·开源·音视频
gz927cool8 小时前
大模型做导师之开源项目学习(lightRAG)
学习·开源·mfc
Ainnle10 小时前
企业级RAG开源项目分享:Quivr、MaxKB、Dify、FastGPT、RagFlow
人工智能·开源
我们的五年13 小时前
MySQL 架构
数据库·mysql·开源
CCF ODC14 小时前
2025年第一期 | CCF ODC《开源战略动态月报》
开源
從南走到北14 小时前
挪车小程序挪车二维码php+uniapp
微信小程序·小程序·开源·微信公众平台
ObjectX前端实验室18 小时前
个人网站开发记录-引流公众号 & 谷歌分析 & 谷歌广告 & GTM
前端·程序员·开源
silianpan20 小时前
文档检索服务平台
elasticsearch·搜索引擎·开源
uhakadotcom1 天前
如何为开源项目做贡献
前端·开源