首页 > 编程知识 正文

Arthas查看耗时大于

时间:2023-11-19 20:59:01 阅读:292350 作者:DVSK

Arthas是一款Java诊断工具,提供了丰富的命令行工具,其中包括了查看耗时大于的命令。本文将从多个方面对Arthas查看耗时大于进行详细阐述,帮助读者更好的掌握和使用该命令。

一、查看耗时大于命令简介

Arthas中的查看耗时大于命令为monitor命令,该命令可以监控方法调用的时间,输出超时的调用栈信息,可以很好的定位性能问题。进入Arthas控制台后,输入以下命令:

$ monitor --cutoff 2000

其中--cutoff参数表示超时的阈值,单位为毫秒。

二、监控指定类的方法耗时

如果我们只想监控特定的类中的方法耗时,可以使用--cutoff参数,一起使用--only参数,指定需要监控的类:

$ monitor --cutoff 2000 --only com.example.demo.controller.UserController

上述命令会监控com.example.demo.controller.UserController中的方法耗时。如果要监控多个类,需要多次执行monitor命令。

三、过滤特定方法

在监控中,有时候我们可能不想监控某个特定的方法,可以使用--skip参数,控制不需要监控的方法:

$ monitor --cutoff 2000 --only com.example.demo.controller --skip findUserById

以上命令会监控com.example.demo.controller中所有方法,但是不会监控findUserById方法。

四、监控线程

对于多线程程序,我们可能需要对指定线程进行监控,用--thread参数即可指定需要监控的线程id:

$ monitor --cutoff 2000 --thread 5

以上命令会监控线程id为5的线程。

五、输出结果

在监控命令执行后,会在控制台中输出超时的调用栈信息,包括类名、方法名、参数、耗时等信息。如下所示:

Class Name            | Method Name              | Cost(ms) | #  | 
---------------------|--------------------------|----------|----|
com.example.demo.controller.UserController | getUserById | 1028 | 1 |
com.example.demo.controller.UserController | findAllUsers | 3219 | 2 |

超时的方法会按照耗时从大到小排列。

六、保存结果

如果想将结果保存到文件中,可以使用--output参数指定输出文件路径:

$ monitor --cutoff 2000 --only com.example.demo.controller --output /data/arthas/monitor.log

上述命令会将输出结果保存到/data/arthas/monitor.log文件中。

七、命令结束

当要结束monitor命令时,在命令提示符下按Ctrl-C即可。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。