
掌握Arthas:阿里巴巴Java性能诊断利器
下载需积分: 0 | 17.84MB |
更新于2024-10-18
| 174 浏览量 | 举报
收藏
Arthas是阿里巴巴开源的一款Java诊断工具,主要用于生产环境下的问题诊断与解决,其官方定位是Java的诊断神器。它能够解决的问题包括但不限于:应用启动速度缓慢、运行时性能低下、死循环、死锁、类加载异常、线程问题等。Arthas能深入到JVM内部,提供多种维度的问题排查手段和实时数据监控,无需修改代码或者重启应用,便可以对Java应用进行实时诊断。
Arthas的主要特性包括:
1. 无侵入式:可以在不影响应用正常运行的情况下进行问题诊断。
2. 实时监控:提供实时的线程、方法调用、JVM等信息监控。
3. 灵活性:支持对热更新代码,便于快速修复线上问题。
4. 易于使用:提供简洁的命令行界面,易学易用,无需复杂的配置。
5. 兼容性:支持JDK 6及以上版本的Java应用。
在使用Arthas时,通常需要下载相应的压缩包,例如"arthas-bin.zip"。该工具包包含了Arthas所需的所有依赖和执行文件,可以通过解压后直接使用。压缩包内的文件列表如下:
- lib:包含Arthas运行所需的各种库文件。
- arthas-agent.jar:Arthas的agent程序,用于连接到目标Java进程,实现诊断功能。
- logback.xml:Arthas的日志配置文件,用于配置日志输出格式及日志级别等。
- as-service.bat:Windows平台的Arthas服务启动脚本。
- arthas-spy.jar:Arthas中用于监控Java类加载的组件。
- arthas-core.jar:Arthas的核心模块,包含大部分命令逻辑。
- arthas-boot.jar:Arthas的启动程序,通过该程序可以启动Arthas并连接到目标Java进程。
- arthas-client.jar:客户端模块,可以远程连接到运行着Arthas的Java进程。
- as.bat:Windows平台的Arthas命令行界面启动脚本。
- arthas.properties:Arthas的配置文件,可以设置一些运行时的参数。
在进行Java应用的性能诊断时,开发者可以使用Arthas提供的各种命令,例如:
- jvm:查看JVM信息和参数。
- sc:查看JVM中已加载的类信息。
- sm:查看已加载类的方法信息。
- jad:反编译指定的Java类。
- redefine:重新加载指定的.class文件,实现代码热更新。
- dashboard:提供实时的监控面板,展示线程、内存、类加载、CPU利用率等信息。
- trace:方法执行路径跟踪,可以查看方法调用的详细信息,包括入参、返回值、异常等。
- monitor:方法执行的监控,可以定时输出方法的调用情况。
- watch:方法执行数据观测,可以观测方法的入参、返回值、异常等信息。
- tt:记录指定方法的调用,可以用于事后分析。
Arthas以其便捷的操作和强大的功能,在Java开发社区中受到了广泛的关注和使用,已经成为Java开发者必备的诊断工具之一。
相关推荐



















捞起月亮的渔民小豪
- 粉丝: 1715
最新资源
- 深入了解Spring PetClinic示例及其部署流程
- 使用Matlab合并股票数据探究债券借贷渠道影响
- PyTorch深度学习迷你教程的实践指南
- 用Docker打造的Ceph仪表板快速部署解决方案
- 创意徽章绘画教程:bsides-sketchy 快速入门
- 用纯Javascript开发的太空侵略者游戏演示
- 默容个人网站展示:技能与作品案例分享
- CS-416课程作业的网络与安全解决方案解析
- ScalaDays SF 2015: 探索Shapeless Workshop与SBT项目实践
- goji-static包:高效缓存控制中间件优化静态文件服务
- udid-enroll项目:快速获取设备UDID进行应用部署
- jrecon:实现网络发现与分析的Java软件
- 「班迪录屏」v5.0.2.1813版本:极致屏幕录制体验
- NodeMCU Lua框架:ESP8266 Wi-Fi模块开发与应用研讨会
- dnscache:Go语言环境下高效的DNS缓存解决方案
- PrestaShop 2015年耶拿barcamp演示文稿精选
- Python实现通用Alpha Zero:强化学习在各类游戏中的应用
- Tesseract OCR实现验证码破解演示
- Python数据分析与可视化:4.5小时掌握实操技能
- HDX马里流离失所者交互式地图的实现与应用
- Node.js多进程HTTP服务通信与Docker自动化部署演示
- Python实现的VoiceText Web API语音合成器使用教程
- Docker与Etcd实现服务发现的探索实验
- 字符串前置新技巧:使用柯里化函数 string-prepend.js