Arthas远程监控JVM


需要下载的文件:

1、arthas-x.x.x-bin,这个包含监控的插件,可作为远程监控的客户端,下载地址:https://arthas.aliyun.com/doc/download.html

2、arthas-tunnel-server-x.x.x-fatjar.jar,这个是远程监控的服务端,下载地址:https://github.com/alibaba/arthas/releases

Arthas远程监控JVM的方法如下:

1、第一步先启动远程服务端,也就是在你自己的电脑上启动服务端arthas-tunnel-server的jar包,启动后记下地址给客户端也就是要监控的电脑启动arthas用,一般默认为,ws://xxx.xxx.x.xxx/ws,这个ip是自己电脑的ip。

2、第二步把下载好的arthas-x.x.x-bin文件夹拷贝到要监控的服务器上,然后输入启动命令并带上第1条保存下来的tunnel服务地址,java -jar arthas-boot.jar --tunnel-server ws://xxx.xxx.x.xxx/ws --agent-id xxxxxxx,agent-id为自定义的id,作为注册到tunnel服务器上的唯一id

 

注意事项:jad——》mc——》redefine,线上更新组合指令使用步骤如下:

1、先使用sc命令模糊查找出了问题的类所在的包,sc com.example.demo.service.*

2、通过第1步骤找到具体的类后,在使用sm命令查找类下的所有方法,sm com.example.demo.service.HourService.* -d,并记下该类的加载器的hash值

 

 

 

3、使用jad反编译有问题的类,并保存到指定的文件夹里,命令里指定保存到root文件夹下,jad com.example.demo.service.HourService --source-only > /root/HourService.java

4、进入并修改反编译后的文件后保存,使用mc命令编译成字节码class文件,在这里需注意,命令行里要指定第2条保存的类加载器的hash值,否则编译报错,mc -c  1d56ce6a /root/HourService.java -d /root ,编译后的class文件会生成到包下的路径,如下图:

 

 

5、开始使用redefine执行热部署命令,redefine /root/com/zxyt/service/HourService.class,如下图所示,则部署成功

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM