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

JVM监控及诊断工具--- Arthas,第1张

一. 背景

 

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 类名 (开启监控)

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

 watch 类名  (查看基本信息)

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

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

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

tt -t 类名 

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

原文地址: http://outofmemory.cn/langs/720545.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存