参考: Oracle Javase8 Doc 关注Monitoring
查询当前机器上当前用户的jvm进程的启动信息,包括pid,启动类,启动参数等相关信息
jps -lv | findstr Test
jps -lv | grep Test

jps [ options ] [ hostid ]
options:
- -q
??????只展示JVM的进程id
- -m
??????展示main方法的参数,如果是内置JVM
- -l
??????展示main class的全路径名称
- -v
??????展示传给JVM的环境变量(启动参数)
- -V
??????只展示进程id 以及 class 名称
查询JVM到的运行统计数据
打印堆内存详情
jmap -heap 1
jmap [ options ] pid
jmap [ options ] executable core
jmap [ options ] [ pid ] server-id@ ] remote-hostname-or-IP
options:
- no option
??????当没有option被用到时,jmap会打印出指定jvm进程所有共享对象的mappings,包括所有的共享对象的起始地址,大小,以及共享对象文件的全路径。和Oracle的Solaris pmap类似;
- -dump:[live,] format=b, file=filename
??????dump整个java堆到一个hprof文件,文件名是filename;live是可选参数,如果被指定,那么只有激活(有被引用?)的对象会被dump。可以使用jat指令或者jvisualvm等其他工具来分析dump的hprof文件;
- -finalizerinfo;
??????打印正在等待被回收的对象的信息;
- -heap
??????打印堆空间size以及used汇总信息;
- -histo[:live]
??????打印堆空间中每个对象的class name,数量,大小;如果指定了live参数,只有激活的对象会被打印出来;
- -clstats
??????打印jvm堆内存中的class loader统计数据,包含名称,是否active,地址,父class loader,以及装载过的class数量和大小;
- -F
??????如果jmap -heap 或者jmap -histo没有响应,可以使用这个option强制执行,live选项不支持此模式;
- -h -help
??????打印帮助选项;
- -J$<$flag$>$
??????传递flag给jmap启动的jvm;
jdk内置java命令 -java环境监控
原文:https://www.cnblogs.com/IC1101/p/11949094.html