官网:https://arthas.aliyun.com/doc/quick-start.html
Maven下载:
com.taobao.arthas
arthas-spring-boot-starter
3.4.8
runtime
java -jar arthas-boot.jar
输入1 回车
持续刷新的,按Ctrl+C或者Q退出
2.cls清屏 3.thread查看线程信息 4.jad 反编译java的class为java代码jad com.jinhaoyang.erp.action.ProductAction(路径)
watch com.jinhaoyang.erp.action.ProductAction findAllInInstruments returnobj
sysprop | grep java -n -m10 只显示十行
sysprop | grep -e “d{2,}” 正则表达式 两个数字也上的
thread -i 1000 -n 3 1000毫秒内最方面的3个线程
thread --state WAITING 查看处于等待状态的线程
如:sysprop user.country 改为中文的
sysprop java.version java的路径
查看所有的环境变量
2. vmoption 查看虚拟机的相关的参数vmoption PrintGCDetails true 更新指定的选项
3.getstatic 查看类的静态属性getstatic 类名 属性
4.ognl 3.0.5版本新增的功能有一定的语法要求语法强大但是,但是有点复杂
查看jvm已加载的类信息,这命令能搜索出所有已经加载到jvm中的class信息,sc默认开启了子类匹配功能。如果想要精确的匹配,打开 options disable-sub-class true 开关。
搜索类所声明的方法,父亲则无法看到。
jad java.lang.String trim 反编译String的trim方法
mc /root/Hello.java -d /root 把Hello.java文件编译为Hello.class到root目录下
3.redefine 加载外部的.class文件,redefine 到Jvm里
dump java.lang.String
classloader
classloader -l
classloader -c 680f2739
classloader -c 680f2739 -r java/lang/String.class
classloader -c 680f2739 -load java.lang.String
monitor dem.MathGame primeFactors -c 5 (5秒执行一次)
watch com.jinhaoyang.erp.action.LoginAction execute “{params,target,returnObj}” -x 2 -b -s -n 2
watch com.jinhaoyang.erp.action.LoginAction execute “{params[0],target}” “params[0]>0”
小结
trace com.jinhaoyang.erp.action.LoginAction execute “#cost>100”
小结
stack com.jinhaoyang.erp.action.LoginAction execute
2.通过条件表达式来过滤,第0个参数的值小于0stack com.jinhaoyang.erp.action.LoginAction execute “params[0]<0” -n 2
3.执行时间大于0.5秒的stack com.jinhaoyang.erp.action.LoginAction execute “#cost>0.5”
tt -i 1008
tt -i 1008 -p 在调用一次1008
tt -i 1008 -p --replay -times 3 调用三次1008
tt -i 1008 -p --replay -times 3 --replay-interval 2000 2秒调用一次



