arthas使用介绍
一、介绍
Arthas是阿里巴巴旗下的一款开源的JAVA诊断工具,可以进行线上监控诊断产品,实时查看应用的内存、gc、线程等信息,方便排查线上问题。
二、支持的平台
需要安装JDK6以上版本,支持Linux/Mac/Windows,是使用命令行进行交互。
三、安装
curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar
启动之后,就会列出当前系统上所有的java进程,输入进程前面的序号,连接到相应的应用进程。
四、常用命令
-
dashboard
dashboard
dashboard命令会展示当前进程的相关信息,包含相关线程的线程名称、CPU占用、JVM内存使用情况,java版本等等,并且dashboard展示的信息会默认5秒刷新一次。
参数 说明 -i 实时数据刷新时间,默认是5000ms -n 实时数据刷新次数 -
thread
thread 线程id
thread命令是查看当前线程的信息,包括线程的堆栈信息。
参数 说明 id 线程id -n 打印最忙的前n个线程,包含堆栈信息 -b 找出当前阻塞其他线程的线程 -i 设置cpu使用率统计的采样时间,单位毫秒,默认是200 –all 显示所有匹配的线程 -
heapdump
heapdump /路径/dump.hprof
该命令类似jmap的heap dump功能。
-
jvm
jvm
查看当前JVM相关信息,包含JVM启动时间、版本、线程数等。
-
memory
memory
查看JVM内存信息。
-
quit
quit
退出Arthas客户端。也可以使用exit、logout、q这三个指令。
五、总结
上方命令是基础的常用命令,快速判断应用问题原因,详细分析还需要借助其他命令,例如以下命令。
- monitor——方法执行监控。
- watch——函数执行数据观测,可以看到函数执行的调用情况、返回值、入参、异常等。
- trace——方法内部调用路径,并且输出方法路径上的每个节点的耗时。
- stack——当前方法被调用的调用路径。
- profiler——生成应用热点火焰图。
排查问题可能需要命令搭配使用,才能找出问题。Arthas命令远不止这些,并且功能也远不止这些,具体可以查看Arthas官网实例和使用方法。官网
觉得写的还不错的小伙伴,请作者喝杯咖啡☕ ,支持一下。😊
如有侵权请立即与我们联系,我们将及时处理,联系邮箱:865934097@qq.com。
评论区