jcmd
打印Java进程所涉及的基本类,线程和vm信息。- 查看jvm运行的时长
jcmd process_id VM.uptime
jcmd 42392 VM.uptime
42392:
150.868 s
- 显示system.getproperties()条目
jcmd processid VM.system_properties
或者jinfo -sysprops process_id
- 获取Jvm版本
jcmd process_id VM.version
jcmd 42392 VM.version
42392:
Java HotSpot(TM) 64-Bit Server VM version 25.201-b09
JDK 8.0_201
- jvm 命令行
jcmd process_id VM_command_line
- jvm调优标志
jcmd process_id VM.flags
- jconsole
- 提供jvm活动的图形化视图。包括线程的使用,类的使用和gc活动
- jhat
- 读取内存堆转储
- 事后使用的工具
- jmap
- 提供堆转储和其它jvm内存使用的信息
- 堆转储必须在事后分析工具中使用
- jinfo
- 查看jvm的系统属性,可以动态设置一些系统属性。
- jinfo的好处在于,允许程序在执行时更改某个标志的值
- 获取进程中所有标志的值
jinfo -flags process_id
- 检查单个标志的值
jinfo -flag PrintGCDetails process_id - XX:+PrintGCDetails
- jstack
- 转储Java进程的栈信息
- jstate
- 提供gc和类装载活动的信息
- jvisualvm
- 监控jvm的gui工具,可以剖析运行的应用,分析jvm堆转储