java ee / jvm analysis tools / Arthas
s
Arthas - Java 线上问题定位处理的终极利器
https://blog.csdn.net/u013735734/article/details/102930307
https://my.oschina.net/u/4357854/blog/3566198
软件简介
Arthas(阿尔萨斯)是阿里巴巴开源的 Java 诊断工具,深受开发者喜爱。
当你遇到以下类似问题而束手无策时,Arthas 可以帮助你解决:
-
这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
-
我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
-
遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
-
线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
-
是否有一个全局视角来查看系统的运行状况?
-
有什么办法可以监控到JVM的实时运行状态?
Arthas 采用命令行交互模式,同时提供丰富的 Tab
自动补全功能,进一步方便进行问题的定位和诊断。
截图展示
下载&启动
wget https://alibaba.github.io/arthas/arthas-boot.jar
启动
java -jar arthas-boot.jar
查看日志
cat ~/logs/arthas/arthas.log
Web控制台
http://127.0.0.1:8563
查看帮助
java -jar arthas-boot.jar -h
快速开始
下载demo并启动
wget https://alibaba.github.io/arthas/arthas-demo.jar
java -jar arthas-demo.jar
启动arthas
查看dashboard
通过thread命令来获取到arthas-demo进程的Main Class
通过jad来反编译Main Class
退出arthas
如果只是退出当前的连接,可以用quit或者exit命令
如果想完全退出arthas,可以执行shutdown命令
文档
https://github.com/alibaba/arthas
https://alibaba.github.io/arthas/index.html
https://alibaba.github.io/arthas/install-detail.html
https://alibaba.github.io/arthas/quick-start.html
https://alibaba.github.io/arthas/advanced-use.html
https://alibaba.github.io/arthas/commands.html
实战演练
# 查看占CPU资源最多的前3个线程
thread -n 3
# 观察方法执行的时候哪个子调用比较慢
trace com.xxx.cms.story.controller.product.ProductController list
# 监控某个特殊方法的调用统计数据,包括总调用次数,平均rt,成功率等信息,每隔5秒输出一次
monitor -c 5 com.xxx.cms.story.controller.product.ProductController list
end
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义