Arthas的JVM相关命令
dashboard
当前系统的实时数据面板
线程:
- ID:Java 级别的线程 ID,注意这个 ID 不能跟 jstack 中的 nativeID 一一对应
- NAME:线程名称
- GROUP:线程组名称
- PRIORITY:线程优先级,1 ~ 10 之间的数字,越大表示优先级越高
- STATE:线程的状态
- CPU%:线程的 cpu 使用率。比如采样间隔 1000ms,某个线程的增量 cpu 时间为 100ms,则 cpu 使用率 = 100/1000=10%
- DELTA_TIME:上次采样之后线程运行增量 CPU 时间,数据格式为秒
- TIME:线程运行总 CPU 时间,数据格式为
分:秒
- INTERRUPTED:线程当前的中断位状态
- DAEMON:是否是 daemon 线程
内存:
- used:当前使用了多少内存
- total:总共分配了多少内存
- max:最大使用了多少
- usage:使用比
- gc:垃圾回收器
thread
查看当前线程信息,查看线程的堆栈,参数说明:
指定采样时间:
thread -i 1000 -n 3
隔 1 秒钟之后取样。
查看指定状态的线程:
thread --state WAITING
jvm
查看当前 JVM 信息:
THREAD 相关:
- COUNT:JVM 当前活跃的线程数
- DAEMON-COUNT:JVM 当前活跃的守护线程数
- PEAK-COUNT:从 JVM 启动开始曾经活着的最大线程数
- STARTED-COUNT:从 JVM 启动开始总共启动过的线程次数
- DEADLOCK-COUNT:JVM 当前死锁的线程数
文件描述符相关:
- MAX-FILE-DESCRIPTOR-COUNT:JVM 进程最大可以打开的文件描述符数
- OPEN-FILE-DESCRIPTOR-COUNT:JVM 当前打开的文件描述符数
sysprop
查看当前 JVM 的系统属性:
- 查看所有属性:sysprop
- 查看单个属性:sysprop java.version
修改单个属性:
sysprop user.country
sysprop user.country CN
sysenv
查看当前 JVM 的环境属性:
- sysenv:查看所有
- sysenv USER:查看指定的信息
vmoption
查看,更新 VM 诊断相关的参数:
- vmoption:查看所有的 option
- vmoption KEY:查看指定的option
getstatic
通过 getstatic 命令可以方便的查看类的静态属性:
getstatic demo.MathGame random
ognl
执行 ognl 表达式,从 3.0.5 版本增加,参数说明如下:
调用静态函数:
ognl '@java.lang.System@out.println("hello")'
获取静态类的静态字段:
ognl '@demo.MathGame@random'
执行多行表达式,赋值给临时变量:
ognl '#value1=@System@getProperty("java.home"), #value2=@System@getProperty("java.runtime.name"), {#value1, #value2}'
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具