dashboard命令:
dashboard -i 1000 -n 1 1000ms刷新1次
id:java级别的线程id 与jstack的线程native id不一致(jvm内部线程id为-1)
name:线程名
group:线程组名
priority:线程优先级
state:线程状态
cpu%:cpu使用率
daemon:是否是守护线程
interrupted:线程当前的中断位状态
thread命令:
thread -n 3 :显示cpu占用率最高的三个线程
thread -b:找出阻塞其他线程的线程
thread id(thread 1): 显示指定线程运行的堆栈
thread -n 3 -i 1000 : 列出 1000ms 内最忙的 3 个线程栈
thread --state WAITING :查看指定状态的线程
thread 1 | grep 'main(': 打印线程ID1的栈,通常是main和函数线程
反编译
jad 全路径类名(jad com.....xkp.Test)
查看方法返回值
watch com....xkp.Test 方法名 returnObj
jvm
jvm(查看当前jvm信息)
logger
logger(查看日志信息)
logger -n org.thymeleaf(查看指定名字logger信息)
logger -c #hashcode(根据hash值查看logger信息)
修改日志级别 比如 org.thymeleaf的
logger查看org.thymeleaf的class为 ch.qos.logback.classic.Logger
sc -d ch.qos.logback.classic.Logger 查看hashcode为 728938a9 日志级别为debug
logger -c 728938a9 --name org.thymeleaf --level info
将org.thymeleaf的日志级别改为info
mbean
mbean(查看mbean相关属性)
mbean java.lang:type=Threading 查看mbean属性信息
mbean -m java.lang:type=Threading 查看mbean元信息
mbean java.lang:type=Th* 查看mbean属性信息支持通配符
perfcounter
perfcounter -d(性能计数器)
sysenv
sysenv(查看当前 JVM 的环境属性)
查看单个环境变量例如MAVEN_HOME
sysenv MAVEN_HOME
sysprop
sysprop(查看当前 JVM 的系统属性)
sysprop user.name(查看系统属性user.name的值)
sysprop user.name me(将系统属性user.name的值改为me)
vmoption
vmoption(查看vm诊断相关参数)
vmoption SoftMaxHeapSize 查看指定属性相关参数
vmoption SoftMaxHeapSize 192937982 修改指定属性相关参数
vmtools
vmtool --action getInstances --className java.lang.String 查找jvm里的字符串对象
vmtool --action getInstances --className org.springframework.context.ApplicationContext 查找spring对象
vmtool --action getInstances --className org.springframework.context.ApplicationContext -x 2 指定返回结果展开层数为2
vmtool --action getInstances --className org.springframework.web.servlet.HandlerMapping 查找spring所有的mapping对象
vmtool --action getInstances --className org.springframework.context.ApplicationContext --express 'instances[0].getBean("userController").findUserById(1)' 调用findUserById函数
vmtool --action forceGc 强制gc
classloader
classloader 按类加载类型查看统计信息
classloader -l 按类加载实例查看统计信息
classloader -t 查看classloader继承树
classloader -c #{hashcode} 查看 URLClassLoader 实际的 urls
dump
dump java.lang.String dump已加载的类的bytecode到指定目录
dump -d /tmp/output java.lang.String
jad
jad java.lang.String 反编译String源代码