下载arthas-boot.jar,然后用java -jar的方式启动:
curl -O https://alibaba.github.io/arthas/arthas-boot.jar | |
java -jar arthas-boot.jar |
- 执行该程序的用户需要和目标进程具有相同的权限。比如以
admin
用户来执行:sudo su admin && java -jar arthas-boot.jar
或sudo -u admin -EH java -jar arthas-boot.jar
。 - 如果attach不上目标进程,可以查看
~/logs/arthas/
目录下的日志。 - 如果下载速度比较慢,可以使用aliyun的镜像:
java -jar arthas-boot.jar --repo-mirror aliyun --use-http
-
java -jar arthas-boot.jar -h
打印更多参数信息。
查看cpu占用高的3个线程 类似top -H,但是能看到堆栈信息,不用先找到线程id再从jstack线程堆栈中查找
thread -n 3
跟踪某个方法的调用时间【显示的条数】
trace 包名.类名 方法名 [-n 数字]
进行获取执行方法的参数【参数第几个】然后获取数据【-n 1为只输出一条】
#$ watch 包名.类名 方法名 params[0].get(0).age -n 1
执行的系统环境变量
#sysprop和sysenv
#通过sysprop可以查看所有的系统变量,也可以设置某个系统变量。
#同理,通过sysenv可以查看所有的操作系统环境变量,也可以查看设置某个环境变量。jvm
#通过jvm命令直接输出当前jvm的各种信息。