命令 | 说明 |
jps | JVM Process Status Tool 显示系统内所有的虚拟机进程信息 |
jstat | JVM Statistics Monitoring Tool 查看虚拟机各方面的运行参数 |
jinfo | Configuration Info Java 虚拟机配置信息 |
jmap | Memory Map for Java 生成虚拟机内存快照(生成Heapdump文件) |
jhat | JVM Heap Dump Browser 分析Heapdump文件,建立一个HTTP/HTML服务器,支持浏览器上查看分析结果 |
jstack | Stack Trace for Java 虚拟机线程快照 |
jps-虚拟机进程查看工具参数
-q:输出进程ID(如果是远程虚拟机进程则是:hostname:port/servername),省略主类名称。
-m:输出虚拟机进程启动传递给主类main()函数参数。
-l:输出主类的全名,如果是Jar包,则输出Jar路径。
-v:输出虚拟机启动JVM参数。
命令格式:jps 参数
eg:jps -l、jps -q、jps -v
jstat-虚拟机统计信息监控工具参数
-class:监控类的装载、卸载数量、总空间以及类装载花费的时间。
-gc:监控Java堆状况,包括Eden区、两个Survivor区、老年代、永久代容量、已用空间、GC时间合计等信息。
-gccapacity:与-gc基本相同,增加Java堆各区域使用到的最大、最小空间。
-gcutil:与-gc基本相同,增加已使用的空间占总空间的百分比。
-gccause:与-gcutil,增加输出导致上一次GC产生的原因。
-gcnew:监控新生代GC状况。
-gcnewcapacity:与-gcnew基本相同,输出关注使用的最大、最小空间。
-gcold:监控老年代GC状况。
-gcoldcapacity:与-gcold基本项目,输出关注使用的最大、最小空间。
-gcpermcapacity:输出永久代使用的最大最小空间。
-compiler:输出JIT编译的方法、耗时等信息。
-printcompilation:输出被JIT编译的方法。
命令格式:jstat 参数 进程号
说明:E:Eden使用的空间占比
S0、S1代表新生代的Survivor0和 Survivor1区 S0:空 S1:100%
O:老年代使用空间占比
M:元空间(Java 1.8去掉了永久代,新增了元空间的概念) P:永久代
CCS:压缩使用比例
YGC:年轻代垃圾回收次数
FGC:老年代垃圾回收次数(Full gc stop word)
FGCT:老年代垃圾回收消耗时间
GCT:垃圾回收消耗总时间
jinfo
jinfo(Configuralion1nfofOfJava) 的作用是实时的查看和调整虚拟机的各项参数
使用jps -v 可以查看虚拟机启动时显式指定的参数列表,如果想知道未被显示指定的参数的系统默认值,除了去百度,就只能使用jinfo -flag选项进行查询了。还可以使用jinfo -flag name=value修改一部分运行期可写的虚拟机参数(Java不同版本稍有点不同)