下载与安装
在线安装
通过wget或curl命令访问如下的url以下载Arthas的启动程序:
https://arthas.aliyun.com/arthas-boot.jar
访问命令如下:
wget https://arthas.aliyun.com/arthas-boot.jar 或 curl -O https://arthas.aliyun.com/arthas-boot.jar
下载完成后,在当前目录即有arthas-boot.jar文件,该文件是arthas的启动程序,而非arthas本身。
执行如下命令运行arthas-boot.jar文件后,将直接下载arthas所需的运行程序:
java -jar arthas-boot.jar
完成下载并成功启动后,选择需要诊断的目标进程,attach成功后控制台将显示如下信息:
需要注意的是,arthas与目标进程须具备相同的用户权限,否则在运行过程中可能出现访问权限相关的问题。
离线安装
上述在线安装过程中,arthas运行程序的获取是通过arthas-boot.jar直接在当前机器下载的。
在实际场景中,如果当前机器无法连接外网,可通过在其他机器上下载好arthas后打包上传到当前机器。
在联网机器上运行arthas-boot.jar后,可在控制到查看到下述日志:
[INFO] arthas home: /Users/herman/.arthas/lib/3.5.5/arthas
该日志显示的是arthas运行程序的安装目录,将该目录直接打包,连同arthas-boot.jar一起上传到待诊断程序所在的目标机器。
arthas-boot.jar在目标机器上的位置不作要求,可放置于任意位置。
arthas运行程序包解压后,须放在服务器上的用户根目录下,比如herman
用户,放在/home/herman/.arthas
下即可。
使用
启动
运行arthas-boot.jar后,控制台将会显示当前机器上正在运行的java程序列表。
选择目标进程,输入对应的序号并输入回车即可进入对该进程的监控。
Dashboard
进入监控后,输入dashboard命令,即可看到整个进程的概况。输入Q或Ctrl+c可退出预览。
在显示的面板中,可以看到如下的信息:
进程内的线程概况:线程运行时间,线程运行状态等
进程的内存使用概况:例如堆内和堆外内存使用情况,新生代、老年代等对象占用情况
运行环境信息:操作系统版本、JDK版本等
Profiler
profiler
命令支持生成应用热点的火焰图。本质上是通过不断的采样,然后把收集到的采样结果生成火焰图。
注意,linux系统支持所有profiler功能,mac系统支持部分功能,windows系统不支持profiler功能。
内存抽样
CPU抽样
参考