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 '@[email protected]("hello")'

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

执行多行表达式,赋值给零时变量,返回一个List
ognl '#value1=@System@getProperty("java.home"),  #value2=@System@getProperty("java.runtime.name"), {#value1, #value2}
image.png

你可能感兴趣的:(Arthas学习二(JVM相关命令))