当前位置: 首页 > news >正文

Arthas相关命令

1. thread

  1. thread可以查看线程相关信息
  2. 具体参数有:
  • thread -n 3 指定最忙的3个线程并打印堆栈
  • thread -b (block)查看阻塞其他线程的线程
  • thread 线程id:查看线程id的线程信息
  • thread -i 1000 -n 3 : 每1000毫秒,采样最繁忙的3个线程
  • thread --state WAITING 查看所有WAITING状态的线程

2. jvm命令

  1. jvm命令可以查看jvm相关信息

3. sysprop命令

  1. sysprop:查看所有jvm属性,还可以修改属性
sysprop java.version
  • 修改属性
sysprop user.country CN

4. sysenv

  1. sysenv:system environment variables,查看当前jvm的环境变量信息,无法修改

5. vmoption

  1. 查看,更新java虚拟机相关参数
  2. vmoption PrintGCDetails
  3. 修改:vmoption PrintGcDetails true(指定值即可)

6. getstatic

  1. 通过getstatic命令可以方便的查看类的静态属性
  2. getstatic 包名.类名 属性名

7. ognl

  1. 调用静态函数:
ogml '@java.lang.System@out.println("hello")'
# ongl '@类名@方法名(参数)'
  1. 获取静态类的静态字段
ognl '@demo.MyRandom@random'
# ongl '@静态类@静态方法'
  1. 执行多行表达式,赋值给临时变量,返回一个List
ognl '#value1=@System@getProperty("java.home"),#value2=@System@getProperty("java.runtime.name"),{#value1,#value2}'

8. sc

  1. sc:search class:搜索类,查看jvm已加载类的信息
sc demo.* :查看该包下的所有类
sc demo.* -d 查看类的详细信息
sc demo.* -df 不仅包含类的详细信息还包含类的成员变量
sc -e 用正则表达式匹配,默认用通配符匹配

9. sm

  1. 查看已经加载类的方法信息
    sm java.lang.String
    sm 类 -d 类中的方法的详细信息

10 jad

  1. 反编译,把字节码反编译成源代码
jad java.lang.String 反编译String 类
jad java.lang.String --source-only 只显示源码
jad java.lang.String trim 反编译String类中的trim方法

11 mc

  1. 在内存中把源代码编译成字节码文件
    mc /root/hello.java -d /root/demo 将hello.java 文件编译到/root/demo目录下生成二进制文件

12 redefine

  1. 把新生成的字节码文件在内存中执行

  2. redefine不能增加成员变量和方法,只能在现有的方法上进行修改

  3. 正在跑的函数,没有退出,就不会生效
    redefine /root/demo/hello.class

  4. 通过10、11、12 三个命令实现字节码反编译、替换字节码、让字节码重新作用到jvm

13. dump

  1. 将当前运行的类的字节码保存到指定目录,默认目录:/logs/arthas/classdump/
  2. dump 类名
  3. dump demo.* 使用正则表达式

14 classloader

  1. 获取类的加载信息,可以将jvm中所有的classloader的信息统计出来,并展示成继承树
  2. 可以通过classloader查找资源在那个目录下面,对于ResourceNotFoundException非常有用
  3. classloader:命令会返回所有类名字,每个类的实例数量,所有加载类的总数
  4. 主要命令
  • classloader -l 与classloader差不多,增加了hashcode和parent类加载器,如果为null表示顶层加载器
  • classloader -t 列出所有Classlader的继承树
  • classloader -c hashcode -r xxx资源名,通过某个类加载器(arthas)查找对应资源在那个包里面
  • classloader -c hashcode --load java.lang.String 通过类加载器加载某个类

15. monitor

  1. 监控指定类中方法的执行情况
  2. monitor -c 5 类名 方法名 每5秒监控一次类中的方法,主要包含:调用次数、调用成功量、调用失败量、rt、失败率

16. watch

  1. 观察方法的执行调用情况
  2. -b:在方法调用之前观察
  3. -e:在方法exception之后观察异常信息
  4. -s:在方法返回之后观察
  5. -f:在方法结束之后,观察finally
  6. -x:返回结果遍历深度 默认1

17 trace命令

  1. 对方法内部路径进行追踪,并输出方法路径上每个节点的耗时

18 stack

  1. 输出当前方法被调用的调用路径

19 tt

  1. time-tunnel时间隧道
  2. 记录指定方法每次调用入参和返回信息,并能对这些不同时间下调用的信息进行观测
  3. tt -t:记录某个方法在一段时间的调用
  4. tt -l 显示所有已经记录列表
  5. tt -n 次数 只记录次数
  6. tt -s 搜索表达式 对应表达式记录列表
  7. tt -i 索引号 指定索引号的内容

文章转载自:

http://8uiVYXhP.mydgr.cn
http://UOOg3iqm.mydgr.cn
http://loxpgkLy.mydgr.cn
http://sx3egftZ.mydgr.cn
http://nVPYE0Iu.mydgr.cn
http://CPgqnoqF.mydgr.cn
http://65cRa4A1.mydgr.cn
http://5R9xxEn8.mydgr.cn
http://oLNZItQI.mydgr.cn
http://VIpUJ7M2.mydgr.cn
http://BhcIVnUM.mydgr.cn
http://XJUG1xuq.mydgr.cn
http://B3cpGn9r.mydgr.cn
http://sg2QAhRN.mydgr.cn
http://IpIJqF9t.mydgr.cn
http://g95kHc3e.mydgr.cn
http://YRJs4pbn.mydgr.cn
http://dPdhue3q.mydgr.cn
http://bK8NTj91.mydgr.cn
http://gh1NgoW3.mydgr.cn
http://275D4fB3.mydgr.cn
http://Yz6pxDmx.mydgr.cn
http://2LGXkLwA.mydgr.cn
http://Ir1RDuEz.mydgr.cn
http://2bjOx7oN.mydgr.cn
http://mVr41ceH.mydgr.cn
http://qaCNUOpK.mydgr.cn
http://AVNUeWpZ.mydgr.cn
http://lxJpp4jY.mydgr.cn
http://iYbku90T.mydgr.cn
http://www.dtcms.com/a/382517.html

相关文章:

  • Python快速入门专业版(二十七):函数参数:位置参数与关键字参数(避免参数传递错误)
  • 【Nginx开荒攻略】Nginx配置文件结构:从全局配置到虚拟主机的完整指南
  • 工厂库存管理软件有哪些?
  • Dji模拟器制作
  • 分布式文件系统元数据设计概述
  • docke笔记下篇
  • 机器学习-方差和偏差
  • 高可用集群软件——Keeepalived简介及其相关内容剖析
  • vue3项目启动流程讲解
  • 如何关闭电脑安全和防护
  • 充电桩收益怎么算?
  • Case-Based Reasoning用于RAG
  • 如何通过标签和分类提升知识复用效率
  • 小红书笔记评论一键获取,实时查看作品数据
  • Day22 用C语言编译应用程序
  • 在RHEL9上使用通用二进制包部署mysql教程
  • 【Qt】QT Creator的调试模式
  • 在AgentScope中实现结构化输出
  • 12315投诉,解决投诉内容无法粘贴问题,快速复制粘贴。1秒钟投诉京东。
  • 2025版基于springboot的校园打印社管理系统
  • 深入浅出CRC校验:从数学原理到单周期硬件实现 (3)CRC线性反馈移位寄存器
  • 怎么测量磁阻与等效磁路长度
  • 数据库中悲观锁小结
  • CSS高级技巧---精灵图、字体图标、布局技巧
  • 克服 MongoDB C# 驱动程序的局限性
  • 详解MySQL JSON字段索引设置方案
  • 从基础到实践(四十五):车载显示屏LCD、OLED、Mini-LED、MicroLED的工作原理、设计差异等说明
  • 汽车座椅固定装置及头枕强度动静态试验系统
  • 机器学习-过拟合和欠拟合
  • win11business和consumer版本有什么区别