arthas 基础指令

简介: Arthas简介:通过dashboard查看线程状态、CPU占用等;jad反编译类文件;thread分析线程堆栈及阻塞情况;watch监控方法执行耗时与参数;支持quit退出连接或stop彻底终止。适用于Java进程诊断,操作便捷,功能强大。(239字)

1.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命令。

相关文章
|
Arthas 监控 前端开发
Arthas学习笔记
Arthas学习笔记
|
9月前
|
Arthas 监控 Java
深入理解JVM《Arthas - 阿里开源Java诊断神器》
Arthas是阿里巴巴开源的Java诊断利器,无需重启应用即可动态追踪JVM运行状态。支持实时监控、线程分析、方法追踪、类反编译、热更新及火焰图生成,集众多工具之大成,助力开发者高效定位线上问题。
|
Arthas 监控 Java
Arthas dashboard(当前系统的实时数据面板)
Arthas dashboard(当前系统的实时数据面板)
772 12
|
Arthas 缓存 监控
Watch 命令的参数介绍 | 学习笔记
快速学习 Watch 命令的参数介绍
1545 119
Watch 命令的参数介绍 | 学习笔记
|
Arthas 监控 Java
Java 诊断利器 Arthas使用
Java 诊断利器 Arthas使用
5369 0
|
Arthas 监控 Java
开源Java诊断工具Arthas:开篇之watch实战
还在为排查Java程序线上问题头痛吗,看我们用阿里开源的诊断神器 Arthas 来帮您
1869 1
|
Arthas 监控 Java
Arthas简介及IDEA插件快速入门
Arthas简介及IDEA插件快速入门
4414 0
|
7月前
|
Arthas 存储 运维
记Arthas实现一次CPU排查与代码热更新
本文介绍如何使用Arthas排查线上Java应用CPU占用过高问题。通过`thread`定位高耗能线程,`watch`监控方法调用与异常,结合`jad`反编译与`redefine`实现热更新,无需重启服务即可修复代码,提升线上问题响应效率。适用于SpringBoot + JDK8环境。
|
Arthas 监控 Java
Arthas-java应用排障利器
Arthas-java应用排障利器
1593 0