Arthas 监控JVM

Arthas 监控JVM,第1张

Arthas 监控JVM 简介

Arthas 是阿里巴巴开源的监控jvm工具,功能强大并且非常简单。原理是通过JVM TI(Java 虚拟机提供的JVM监控的接口)实现,官网:https://arthas.gitee.io/

安装
curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar
常用 *** 作 仪表盘 dashboard

查看线程和JVM的基本信息

jvm

类似jdk自带的jinfo,但是比jinfo更强大,可以显示垃圾回收算法

thread

线程基本的信息查看

thread -b 查看线程死锁

安装成功界面

sc

扫描加载的类

sc *
sc *com.xxx

sm

查询类中的方法

sm 包名.类名

trace

获取方法的访问次数

jad

反编译工具

使用场景:
  1. 动态代理生成类的问题定位;
  2. 第三方的类(观察代码)
  3. 版本问题(确定自己最新提交的版本是不是被使用)
redefine

热替换,搭配jad一起使用,达到不重启服务器的情况下替换代码(很强)
目前有些限制条件:只能改方法实现(方法已经运行完成),不能改方法名, 不能改属性

启动问题 上次未正常关闭报错

The telnet port 3658 is used by process 1094 instead of target process 8649, you will connect to an unexpected process.
[ERROR] 1. Try to restart arthas-boot, select process 1094, shutdown it first with running the ‘stop’ command.
[ERROR] 2. Or try to stop the existing arthas instance: java -jar arthas-client.jar 127.0.0.1 3658 -c “stop”
[ERROR] 3. Or try to use different telnet port, for example: java -jar arthas-boot.jar --telnet-port 9998 --http-port -1

解决:

e: java -jar arthas-boot.jar --telnet-port 9998 --http-port -1

解决:

重新启动arthas-boot.jar,输入stop命令,然后再重新启动即可

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5671561.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存