JVM监控及诊断工具--- Arthas

一. 背景

 

Jvisualvm和Jprofiler功能强大,但是也有个缺点,就是都必须在服务端项目进程中配置相关的监控参数。然后工具通过远程连接到项目进程,获取相关的数据。这样就会带来一些不便,比如线上环境的网络是隔离的,本地的监控工具根本连不上线上环境。那么有没有一款工具不需要远程连接,也不需要配置监控参数,同时也提供了丰富的性能监控数据呢?这就推出了阿里巴巴开源的JVM监控及诊断工具--- Arthas。

官方网址

Arthas - Alibaba Java Diagnostic Tool

二. 安装

先新建一个文件夹存放jar,直接在该文件夹通过cmd下载arthas

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

三. 启动

java -jar arthas-boot.jar (第一次启动需下载各类文件)显示当前系统执行的Java进程

输入1 (只要输入给定的编号即可)

windows系统下,若出现问题可参考

​​​​​​Windows系统下,Arthas启动出错:Exception in thread “main“ java.lang.IllegalArgumentException: Can not find to_枫陵的博客-CSDN博客

启动成功

四. 简单使用

cat(打印文件内容)

pwd(返回当前工作目录,指当前Java进程执行的工作目录)

cls(清屏)

session(查看当前会话信息)

 

history(打印命令历史)

 quit(退出当前Arthas客户端,其他Arthas客户端不受影响)

 stop(关闭Arthas服务端,所有客户端全部退出)

五. JVM相关

dashboard(实时数据面板,可设置间隔时间) 

dashboard -i 1000 -n 4 (每隔1秒打印一次,总共打印4次)

 thread(线程,按CPU使用率排序)

 thread ID(展示ID对应线程情况) 

 thread -b(查看出现死锁线程)

 sysprop(查看JVM属性)

 sysenv(JVM环境变量)

heapdump 路径(生成堆dump文件)

 

六. class/classloader相关

sc(查看己加载类的信息)
sc 类名(查看类) 

 

sc -d 类名(查看类的具体信息)

sm(查看己加载类的方法信息,不包括父类方法)                                                                          sm 类名(查看类的方法) 

 sm -d 类名 方法(查看方法的具体信息)

 jad(反编译)

jad 类名或方法名 

 

classloader -t (以树形结构的方式展示类加载器的结构) 

classloader -l (展示类加载器的实例) 

 classloader -c hash(展示类加载器jar的地址)

七. monitor/watch/trace相关

monitor(方法执行监控)

monitor 类名 <init> (开启监控)

monitor -c 5 类名 <init> (设置每隔5秒打印一次)

 watch 类名 <init> (查看基本信息)

 trace(方法内部调用路径,并输出方法路径上的每个节点上耗时)                                           trace 类名 <init>

 stack (输出当前方法被调用的调用路径) 

tt (方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测)

tt -t 类名 <init>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值