初始Java诊断工具-Arthas

简介: 初始Java诊断工具-Arthas

image.png

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

Arthas 是Alibaba开源的Java诊断工具


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

4 回车

image.png

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


第二种:使用as.sh

Arthas 支持在 Linux/Unix/Mac 等平台上一键安装,请复制以下内容,并粘贴到命令行中,敲 回车 执行即可:curl -L https://alibaba.github.io/arthas/install.sh | sh


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


image.png

image.png

./as.sh -h来获取更多参数信息。curl -L https://arthas.gitee.io/install.sh | sh


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

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


通过Cloud Toolkit插件使用Arthas一键诊断远程服务:https://shirenchuang.blog.csdn.net/article/details/101049622


卸载

在 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 示例项目:https://github.com/shirenchuang/arthas-example

image.png

相关文章
|
2月前
|
监控 Java 测试技术
Java开发现在比较缺少什么工具?
【10月更文挑战第15天】Java开发现在比较缺少什么工具?
36 1
|
12天前
|
SQL Java 索引
java小工具util系列2:字符串工具
java小工具util系列2:字符串工具
131 83
|
1月前
|
Java 数据格式 索引
使用 Java 字节码工具检查类文件完整性的原理是什么
Java字节码工具通过解析和分析类文件的字节码,检查其结构和内容是否符合Java虚拟机规范,确保类文件的完整性和合法性,防止恶意代码或损坏的类文件影响程序运行。
|
1月前
|
Java API Maven
如何使用 Java 字节码工具检查类文件的完整性
本文介绍如何利用Java字节码工具来检测类文件的完整性和有效性,确保类文件未被篡改或损坏,适用于开发和维护阶段的代码质量控制。
|
2月前
|
Web App开发 Java
使用java操作浏览器的工具selenium-java和webdriver下载地址
【10月更文挑战第12天】Selenium-java依赖包用于自动化Web测试,版本为3.141.59。ChromeDriver和EdgeDriver分别用于控制Chrome和Edge浏览器,需确保版本与浏览器匹配。示例代码展示了如何使用Selenium-java模拟登录CSDN,包括设置驱动路径、添加Cookies和获取页面源码。
107 6
|
2月前
|
Java 流计算
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
44 1
Flink-03 Flink Java 3分钟上手 Stream 给 Flink-02 DataStreamSource Socket写一个测试的工具!
|
2月前
|
小程序 Oracle Java
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
这篇文章是关于JVM基础知识的介绍,包括JVM的跨平台和跨语言特性、Class文件格式的详细解析,以及如何使用javap和jclasslib工具来分析Class文件。
51 0
JVM知识体系学习一:JVM了解基础、java编译后class文件的类结构详解,class分析工具 javap 和 jclasslib 的使用
|
2月前
|
Java C++
做了个Java打包工具,可以双击启动了!
本文介绍了作者日常使用Java和Swing进行开发的经验,以及Java程序分发时遇到的问题,如需要JRE环境。文中列举了几种常见的Java程序打包方法,并对比了各自的优缺点,最后作者结合这些方案,利用Winform开发了一款工具,将Java程序打包成二进制可执行文件,简化了分发流程。
做了个Java打包工具,可以双击启动了!
|
2月前
|
SQL 安全 Java
JAVA代码审计SAST工具使用与漏洞特征
JAVA代码审计SAST工具使用与漏洞特征
76 2
|
2月前
|
数据可视化 算法 Java
JAVA规则引擎工具
本文介绍了六款常用的Java规则引擎:Drools、IBM ODM、Easy Rules、jBPM、OpenL Tablets 和 Apache Camel。每款引擎都有其独特的特点和适用场景,如Drools的高效规则匹配、IBM ODM的Web界面管理、Easy Rules的轻量级特性、jBPM的流程管理、OpenL Tablets的Excel规则定义以及Apache Camel的路由和规则结合。选择合适的规则引擎可以显著提高系统的灵活性和可维护性。