Project Icon

arthas

Java应用即时诊断工具,无需重启服务器

Arthas是阿里巴巴开源的Java诊断工具,帮助开发者在生产环境中无需修改代码和重启服务器即可解决问题。其功能包括查看类加载情况、反编译、类加载器统计、方法调用详情、堆栈跟踪、方法统计和系统指标监控等。支持JDK 6以上版本,兼容Linux、Mac和Windows操作系统,并通过命令行、telnet和websocket进行本地和远程诊断。

Arthas 项目介绍

Arthas 是由阿里巴巴开源的一款 Java 诊断工具。该工具为开发者提供了一种无需修改代码或重启服务,就能解决生产环境 Java 应用故障的途径。

项目背景

在许多时候,生产系统的网络是无法从本地开发环境访问的。如果在生产系统中遇到问题,无法使用 IDE 进行远程调试。此外,在生产环境中调试也是不可行的,因为这会挂起所有线程,导致业务服务暂停。开发者可以尝试在测试或预发布环境中重现这些问题,但是某些问题很难在不同环境中重现,甚至在 JVM 重启后,问题可能会消失。

如果考虑通过在代码中添加日志来帮助定位问题,那么整个过程需要经过测试、预发布再到生产,这既消耗时间又不高效。为了解决这些问题,Arthas 被开发出来,允许开发者无需重启 JVM 或更改代码,就能即时地对生产问题进行诊断。

关键特性

Arthas 提供了一系列强大的功能,以帮助开发者定位和解决问题:

  • 检查类是否被加载,或类加载的位置(方便解决 JAR 文件冲突问题)。
  • 反编译类以确保代码按预期运行。
  • 查看类加载器统计信息,例如类加载器数量、每个类加载器加载的类数、类加载器层次结构、可能存在的类加载器泄漏等。
  • 查看方法调用详细信息,如方法参数、返回对象和抛出的异常。
  • 检查指定方法调用的堆栈跟踪,用于了解方法调用者。
  • 跟踪方法调用,查找缓慢的子调用。
  • 监控方法调用统计信息,如每秒请求数 (QPS)、响应时间 (RT)、成功率等。
  • 监控系统指标、线程状态及 CPU 使用率、垃圾回收 (GC) 统计等。
  • 支持命令行交互模式,自动补全功能。
  • 支持 Telnet 和 WebSocket,提供本地和远程诊断。
  • 支持 profiler/火焰图。
  • 从堆中获取某类的实例对象。
  • 支持 JDK 6+(4.x 版本不再支持 JDK 6 和 JDK 7)。
  • 支持 Linux/Mac/Windows 平台。

快速入门

使用 arthas-boot(推荐)

可以通过以下命令快速下载并启动 Arthas:

curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar

查看使用说明:

java -jar arthas-boot.jar -h

使用 as.sh

在 Linux、Unix 和 Mac 平台上,可以通过以下单行命令安装 Arthas:

curl -L https://arthas.aliyun.com/install.sh | sh

执行上述命令后,as.sh 启动脚本会下载到当前目录。可以将其移动到其他位置,或将其路径加入到 $PATH 中。

通过执行 as.sh 进入交互界面,或执行 as.sh -h 获取更多帮助信息。

常用功能展示

  • Dashboard: 提供系统状态的一览概况。
  • Thread: 分析哪些线程消耗 CPU,查看线程的详细堆栈信息。
  • Jad: 反编译类文件,查看实际运行的 Java 代码。
  • Monitor: 监控特定方法的调用统计。
  • Time Tunnel (tt): 记录方法调用,用于事后查看调用参数、返回值和异常。

Web 控制台

Arthas 提供了直观的 Web 控制台界面,方便用户进行交互式操作。

已知用户

Arthas 已经被 120 多家注册用户采用,遍布阿里巴巴、支付宝、云计算等知名企业。

衍生项目

Arthas 项目催生了一些相关的衍生项目,如 Bistoury,一个集成了 Arthas 的项目,以及使用 MVEL 的 Arthas 修改版。

Arthas 是 Java 社区一个重要的开源工具,凭借其丰富的功能和便捷的使用方式,极大地节省了开发者排查 Java 应用程序问题的时间和精力。无论是初学者还是资深开发者,Arthas 都可以成为排查 Java 生产环境问题的有力助手。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号