0
点赞
收藏
分享

微信扫一扫

Arthas-monitor/watch/trace 相关命令使用


博主介绍: ✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌

Java知识图谱点击链接:体系化学习Java(Java面试专题)

💕💕 感兴趣的同学可以收藏关注下不然下次找不到哟💕💕

开头:
本章所有的命令都非常重要,都是使用率相当高的。


文章目录

  • monitor/watch/trace 相关命令使用
  • monitor
  • stack
  • trace
  • tt
  • watch


monitor/watch/trace 相关命令使用

monitor

方法执行监控,这个主要用来监控的。

命令:
monitor -c 1 -m 1 [类全限定名] [方法名]
-c 后面跟的是时间周期,单位秒,也就是多久打印一次;
-d 后面跟的是限制数量,最大匹配多少个;

下面是监控输出的列头介绍:

Arthas-monitor/watch/trace 相关命令使用_字段


Arthas-monitor/watch/trace 相关命令使用_字段_02

stack

输出当前方法被调用的调用路径,这个主要就是让我查看这个方法都被什么调用了。

命令:
stack [类的全限定名] -m 1 -n 1
-m 后面跟的是限制数量,最多返回多少个
-n 后面跟的是限制的执行次数

Arthas-monitor/watch/trace 相关命令使用_字段_03

trace

方法内部调用路径,并输出方法路径上的每个节点上耗时。

命令:
trace [类的全限定名] [方法名] -m 1 -n 1
-m -n 的含义和上面一样。

Arthas-monitor/watch/trace 相关命令使用_java_04

tt

方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测。

命令:
tt -t -m 1 [类的全限定名] [方法名]
-m -n 的含义和上面一样。

返回的字段解释:

Arthas-monitor/watch/trace 相关命令使用_Java_05


Arthas-monitor/watch/trace 相关命令使用_java_06

watch

函数执行数据观测,这个是一个常用命令,但是也需要对表达式有一定的了解。主要用来检测方法是否被指定到。

命令:
watch [类的全限定名] [方法名] -m 1 -n 1 -x 1
-m -n 的含义和上面一样, -x 表示遍历的深度,最大值是 4,反正展开太深,内存吃不消。

watch 也支持表达式,具体的可以上官网学习一下 https://arthas.aliyun.com/doc/watch.html#%E5%8F%82%E6%95%B0%E8%AF%B4%E6%98%8E,我一般都是现查现用。

Arthas-monitor/watch/trace 相关命令使用_方法名_07


Arthas-monitor/watch/trace 相关命令使用_java_08


Arthas-monitor/watch/trace 相关命令使用_java_09


举报

相关推荐

0 条评论