【JVM内存管理专题】——Arthas诊断工具

时间:2024-04-11 10:01:20

Arthas诊断工具——环境搭建

下载:wget https://alibaba.github.io/arthas/arthas-boot.jar
启动:java -jar arthas-boot.jar
选择:(Arthas工具会自动jps找到所有Java进程,你只需输入编号选择)
【JVM内存管理专题】——Arthas诊断工具
比如说输入1

Arthas诊断——基本指令

help ——查看命令帮助信息
cat ——打印文件内容,和linux里的cat命令类似
pwd ——返回当前的工作目录,和linux命令类似
cls ——清空当前屏幕区域
session ——查看当前会话的信息
reset ——重置增强类,将被 Arthas 增强过的类全部还原,Arthas 服务端关闭时会重置所有增强过的类
version ——输出当前目标 Java 进程所加载的 Arthas 版本号
history ——打印命令历史
quit ——退出当前 Arthas 客户端,其他 Arthas 客户端不受影响
shutdown ——关闭 Arthas 服务端,所有 Arthas 客户端全部退出
keymap ——Arthas快捷键列表及自定义快捷键

Arthas诊断——dashborad数据面板

dashboard
dashboard -n 10 执行多少次不指定的话会一直刷新
dashboard -i 2000 每次执行间隔时间
【JVM内存管理专题】——Arthas诊断工具

Arthas诊断——thread线程堆栈信息

thread
-b 查看目前block的线程
-i 5000ms 查看在接下来的多长时间内 统计cpu利用率
-n 5 查看cpu占用率前5的线程的堆栈信息
<thread_id> 直接跟着线程id,可以看到thread的堆栈信息

Arthas诊断——profieler火焰图

profiler start 开始记录信息
profiler status 查看记录状态
profiler stop 停止记录信息
【JVM内存管理专题】——Arthas诊断工具

Arthas诊断——方法诊断

options unsafe true 开启可以查看基础类的权限,生产环境不建议开启!
Arthas诊断——statck方法调用路径 stack java.lang.String trim
Arthas诊断——monitor 方法监控统计 monitor -c 5 java.lang.String trim (-c是当前页显示的数量)
【JVM内存管理专题】——Arthas诊断工具
Arthas诊断——watch方法数据检测(参数、异常、返回值) watch java.lang.String equals view params
【JVM内存管理专题】——Arthas诊断工具
.Ps:athras提供了很多例子告诉你怎么使用;
Arthas诊断——trace方法节点耗时
trace java.lang.String equals
-j ‘#cost>5’ 过滤耗时时间
-n 5 执行次数
Arthas诊断——tt方法执行信息记录
tt -t java.lang.String equals -n 5

Arthas诊断——其他

jvm 查看当前jvm信息
sysprop 查看和修改JVM的系统属性
sysenv 查看JVM的环境变量
getstatic 查看类的静态属性
sc java.lang.String 查看类
sc -d java.lang.String 查看类详情
sm java.lang.String 查看类的方法
sm -d java.lang.String 查看类的方法详情

GodSchool
致力于简洁的知识工程,输出高质量的知识产出,我们一起努力
博主私人微信:supperlzf