开发者社区 通义灵码 文章 正文

dashboard基础指控

2025年12月18日 44
版权
版权声明:
本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议》和 《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
简介: Arthas简介:通过`dashboard`查看线程信息,`jad`反编译类,`thread`分析线程堆栈与阻塞,`watch`监控方法参数、返回值及异常。支持按状态筛选线程,查看CPU占用、运行时间等。`quit`退出连接,`stop`彻底关闭Arthas。字符数:238。

dashboard
输入dashboard,按回车/enter,会展示当前进程的信息,按ctrl+c可以中断执行
ID: Java级别的线程ID,注意这个ID不能跟jstack中的nativeID一一对应
NAME: 线程名
GROUP: 线程组名
PRIORITY: 线程优先级, 1~10之间的数字,越大表示优先级越高
STATE: 线程的状态
CPU%: 线程消耗的cpu占比,采样100ms,将所有线程在这100ms内的cpu使用量求和,再算出每个线程的cpu使用占比。
TIME: 线程运行总时间,数据格式为分:秒
INTERRUPTED: 线程当前的中断位状态
DAEMON: 是否是daemon线程
2.jad反编译指令
输入:jad + 文件全路径,如我想查看主启动类,则:
3.thread
最忙的前N个线程并打印堆栈
所有线程的信息
指定线程的运行堆栈
如上有线程ID为37的,所以这里指明id=37
当前阻塞其他线程的线程
无阻塞返回
有阻塞返回
注意, 目前只支持找出synchronized关键字阻塞住的线程, 如果是java.util.concurrent.Lock, 目前还不支持。
指定采样时间间隔
查看指定状态的线程
thread –state
状态:[RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, NEW, TERMINATED]
4.watch
查看方法耗时出参
如我有这样一个方法:
则指令为:
Java
运行代码
复制代码
1
watch com.arthas.controller.ArthasController arthasTest returnObj
查看指定方法入参出参
Shell
运行代码
复制代码
1
watch com.arthas.controller.ArthasController arthasTest "{params,returnObj}" -x 2
观察异常信息
5.退出Arthas
如果只是退出当前的连接,可以用quit或者exit命令。Attach到目标进程上的arthas还会继续运行,端口会保持开放,下次连接时可以直接连接上。
如果想完全退出arthas,可以执行stop命令。

目录
热门文章
最新文章

AltStyle によって変換されたページ (->オリジナル) /