jps虚拟机进程状态工具(JVM Process Status Tool)
工具相关参数文档 Oracle Help Center
jps命令格式
jps [options] [hostid]
选项 | 作用 |
-q | 只输出LVMID,省略主类的名称 |
-m | 输出虚拟机进程启动时传递给主类main()函数的参数 |
-l | 输出主类的全名,如果进程执行的是JAR包,则输出JAR路径 |
-v | 输入虚拟机进程启动时的JVM参数 |
- 没有启动服务的jps结果图:
- 启动该jar
- 使用如下命令启动jar
- 启动完成
- 再一次运行jps
- jps -q效果和jps差异
- jps -m 和jps差异
- jps -l 和jps差异
- jps -v 和jps差异
jstat虚拟机统计信息监视工具(JVM Statistics Monitoring Tool)
jstat命令格式
jstat [option vmid [interval [s|ms] [count]] ]
interval代表查询时间间隔
count次数
如果省略这2个参数,说明只查询一次。
选项 | 作用 |
-class | 监视类加载、卸载数量、总空间以及类装载所耗费的时间 |
-gc | 监视Java堆情况,包括Eden区、2个Survivor区、老年代、永久代等的容量,已用空间,垃圾收集时间合计等信息 |
-gccapacity | 监视内容与-gc基本相同,但输出主要关注Java堆各个区域使用到的最大、最小空间 |
-gcutil | 监视内容与-gc基本相同,但输出主要关注已使用空间占总空间的百分比 |
-gccause | 与-gcutil功能一样,但是会额外输出导致上一次垃圾收集产生的原因 |
-gcnew | 监视新生代垃圾收集状况 |
-gcnewcapacity | 监视内容与-gcnew基本相同,输出主要关注使用到的最大、最小空间 |
-gcold | 监视老年代垃圾收集状况 |
-gcoldcapacity | 监视内容与-gcold基本相同,输出主要关注使用到的最大、最小空间 |
-gcpermcapacity | 输出永久代使用到的最大、最小空间 |
-compiler | 输出即时编译器编译过的方法、耗时等信息 |
-printcompilation | 输出已经被即时编译的方法 |
程序功能
如下图:
- 启动后第一次执行jstat -class
- 执行一次addMap后的执行jstat -class
- jstat -gc结果相关参数说明可以查看该网站Oracle Help Center,该链接的再点击
- jstat -gccapacity 统计信息
- jstat -gcutil 显示效果
- jstat -gccause 显示效果