Arthas学习二(JVM相关命令)

dashboard

输入dashboard,会展示当前所有java线程的信息。


image.png

thread

作用: 查看当前JVM的线程堆栈信息

thread 线程id
参数说明:
-n: 指定最忙的前N个线程并打印堆栈
-b: 找出当前阻塞其他线程的线程
-i 1000: 指定cpu占比统计的采样间隔,单位为毫秒

例如:

展示当前最忙的3个线程
thread -n 3
image.png

jvm

查看JVM的信息


image.png

THREAD相关:

  • COUNT: JVM当前活跃的线程数
  • DAEMON-COUNT: JVM当前活跃的守护线程数
  • PEAK-COUNT: 从JVM启动开始曾经活着的最大线程数
  • STARTED-COUNT: 从JVM启动开始总共启动过的线程次数
  • DEADLOCK-COUNT: JVM当前死锁的线程数

FILE-DESCRIPTOR(文件描述符相关)

  • MAX-FILE-DESCRIPTOR-COUNT: JVM进程最大可以打开的文件描述符
  • OPEN-FILE-DESCRIPTOR-COUNT: JVM当前打开的文件描述符数

sysprop

查看和修改JVM的系统属性

显示所有JVM属性
sysprop
显示指定属性的值
sysprop user.country
修改指定属性的值
sysprop user.country US

sysenv

查看当前JVM的环境属性

查看所有环境变量
sysenv

查看单个环境变量
sysenv USER

vmoption

查看,修改VM诊断相关的参数

查看所有
vmoption

查看指定的选项
vmoption PrintGCDetails

更新指定的选项
vmoption PrintGCDetails true
image.png

getstatic

通过getstatic命令可以方便的查看类的静态属性

语法:
getstatic 类名 属性名

例:
显示MathGame类中静态属性random
getstatic MathGame random
image.png

ognl

支持ognl表达式

调用静态函数
ognl '@java.lang.System@out.pringln("hello")'

获取静态类的静态字段
ognl '@MatnGame@random'

执行多行表达式,赋值给零时变量,返回一个List
ognl '#value1=@System@getProperty("java.home"),  #value2=@System@getProperty("java.runtime.name"), {#value1, #value2}
image.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容