【Arthas】初识Arthas,安装使用

简介: 【Arthas】初识Arthas,安装使用

文章目录

image.png

Arthas(读:阿尔萨斯) 是什么

Arthas 是Alibaba开源的Java诊断工具

GitHub地址: Alibaba Althas 项目地址


Arthas能干什么

当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:


这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?

我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?

遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?

线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!

是否有一个全局视角来查看系统的运行状况?

有什么办法可以监控到JVM的实时运行状态?

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


快速安装

第一种:使用arthas-boot(推荐)

下载arthas的jar包; 然后启动jar包java -jar arthas-boot.jar

wget https://alibaba.github.io/arthas/arthas-boot.jar
java -jar arthas-boot.jar

image.png

启动之后会列出所有的Java进程; 选择你想要诊断的进程; 比如这里我输入 4 回车

image.png

这时候就进入的Arthas的操作界面了;


注意:

执行该程序的用户需要和目标进程具有相同的权限。比如以admin用户来执行:sudo su admin && java -jar arthas-boot.jar 或 sudo -u admin -EH java -jar arthas-boot.jar。

如果attach不上目标进程,可以查看~/logs/arthas/ 目录下的日志。


第二种:使用as.sh

Arthas 支持在 Linux/Unix/Mac 等平台上一键安装,请复制以下内容,并粘贴到命令行中,敲 回车 执行即可:

curl -L https://alibaba.github.io/arthas/install.sh | sh

上述命令会下载启动脚本文件 as.sh 到当前目录,你可以放在任何地方或将其加入到 $PATH 中。


直接在shell下面执行./as.sh,就会进入交互界面。

image.png

也可以执行./as.sh -h来获取更多参数信息。

如果从github下载有问题,可以使用gitee镜像

curl -L https://arthas.gitee.io/install.sh | sh


Cloud Toolkit插件一键诊断远程服务器

简单配置,无须手动安装Arthas


通过Cloud Toolkit插件使用Arthas一键诊断远程服务器


卸载

在 Linux/Unix/Mac 平台

删除下面文件:

rm -rf ~/.arthas/
rm -rf ~/logs/arthas

Windows平台直接删除user home下面的.arthas和logs/arthas目录

启动异常情况

Target process 24501 is not the process using port 3658, you will connect to an unexpected process


image.png

image.png

出现这种情况,是我们刚刚诊断了

com.shirc.arthasexample.ArthasExampleApplication的进程;

然后退出的时候用了 ctrl+c或者exit退出,其实没有把那个会话正常关闭;

下次再选择其他的进程的时候会提示你有一个会话没有正常关闭,要你去正常关闭一下;


解决方法: 重新进入刚刚那个会话;

然后执行: shutdown 正常关闭会话; 才能重新打开其他进程的会话;


正常关闭

shutdown


示例项目

可以下载我用来调试的项目 Arthas 示例项目

本Arthas系列的的文章的所有调试命令都是基于上面的项目;

先把项目拉下来,本地启动;之后就可以看到进程了

image.png


image.png

目录
相关文章
|
Arthas 监控 Java
Java 诊断利器 Arthas使用
Java 诊断利器 Arthas使用
4315 0
|
1月前
|
Arthas 监控 Java
arthas 安装
本教程介绍Arthas的安装与基础使用。需提前安装JDK并确保服务器有Java应用运行。下载arthas-boot.jar,上传Java应用(如Arthas-demo.jar),启动后通过`java -jar arthas-boot.jar`接入,选择对应进程即可监控。支持多Java进程管理,为后续深入使用奠定基础。(239字)
|
Arthas 监控 Java
Arthas (阿尔萨斯)arthas-boot 方式安装及使用教程
Arthas (阿尔萨斯)arthas-boot 方式安装及使用教程
3093 0
|
XML Java 数据格式
Spring源码分析
Spring源码分析
|
6月前
|
XML 人工智能 监控
SpringBoot实战:七种统计方法耗时的实现方式
在Spring Boot开发中,统计方法执行时间是性能优化的重要手段。本文介绍了七种实现方法耗时统计的技巧,包括手动使用StopWatch、AOP全局监控、自定义注解+切面、拦截器、Filter、Actuator+Micrometer集成以及事件监听等方式。每种方法适用于不同场景,开发者可根据需求选择合适的方案,从而更高效地定位性能瓶颈并提升系统响应速度。
1022 5
|
人工智能 IDE 程序员
Qoder用户上手指南:安装、登录、快捷键、功能亮点(新用户免费领300credits,首购2美元/月)
这个容易让程序员上瘾的 Agentic Coding 平台有哪些上头的功能?对于小白开发者和资深开发者如何用好Qoder呢?
9912 6
Qoder用户上手指南:安装、登录、快捷键、功能亮点(新用户免费领300credits,首购2美元/月)
|
Arthas 监控 安全
arthas如何跟踪某个方法?并查看方法的入参和出参?
arthas如何跟踪某个方法?并查看方法的入参和出参?
2598 6
|
人工智能 前端开发 Java
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!
本文介绍了如何使用Spring AI Alibaba开发一个简单的AI对话应用。通过引入`spring-ai-alibaba-starter`依赖和配置API密钥,结合Spring Boot项目,只需几行代码即可实现与AI模型的交互。具体步骤包括创建Spring Boot项目、编写Controller处理对话请求以及前端页面展示对话内容。此外,文章还介绍了如何通过添加对话记忆功能,使AI能够理解上下文并进行连贯对话。最后,总结了Spring AI为Java开发者带来的便利,简化了AI应用的开发流程。
9792 2
Spring AI Alibaba + 通义千问,开发AI应用如此简单!!!