中原银行 Arthas 实践之路

作者 | 于爽 中原银行系统研发工程师,目前在技术平台室中间件小组从事分布式缓存、消息队列等相关工作。

【Arthas 官方社区正在举行征文活动,参加~ P 4即有奖品拿哦~点W j . U c U击投稿】

Arthas 是一款 Java应用开源) 5 N ( 6 4 u诊断工具,由于其强大的问题排查及诊断能力,自其开源以来广受开发者的关注和使用,多次登顶 GitHub Trendi( l = M d Vng,并得到国内多家技术媒体的推荐分y E D p n [ N f p享。

一. 定制化功能改造

Arthas 可以通过简单的命令交互模式,接入运行的 JVM,快速定位和诊断线上程序运行问题。在Z 0 m + 3重启服务的情况下,实时、动态的修改相关 code,并实时生效。具体工作原理如下:

1. 连接JVM:通过attach机制,通过attach pid连接正在运行的JVM;
2. 查看及修| M ^改JVM字节码:通过instrument技术对运行中的JVM附加或修改字节