arthas 阿尔萨斯,Alibaba开源的Java诊断工具,主要命令如下:
dashboard 仪表盘
thread 查看当前线程, 如: thread -b 查看当前阻塞其他线程的线程
jvm 查看当前jvm信息
sc 查看JVM已加载的类信息 ,“Search-Class” 的简写,这个命令能搜索出所有已经加载到 JVM 中的 Class 信息
sm 查看已加载类的方法信息,“Search-Method” 的简写,这个命令能搜索出所有已经加载了 Class 信息的方法信息
jad 反编译class文件,如: jad java.lang.String
monitor 监控方法执行情况,如: monitor -c 5 demo.MathGame primeFactors,统计该方法5个周期没的执行状况
watch方法执行数据观测,如: watch demo.MathGame primeFactors "{params,returnObj}"-x 2,-x代表遍历深度
trace 方法内部调用路径,并输出方法路径上的每个节点上耗时,如: trace demo.MathGame run '#cost > 10',展示耗时大于4ms的调用路径
stack 输出当前方法被调用的调用路径,如: stack demo.MathGame primeFactors
tt TimeTunnel,时空隧道,法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测.使用 -p参数可以重新模拟请求
watch/stack/trace这个三个命令都支持#cost