- 1. jps 虚拟机进程状况工具(JVM Process Status Tool)
功能与unix的ps类似:可以列出正在运行的虚拟机进程,并显示虚拟机执行主类名称,以及这些进程的本地虚拟机实例的唯一ID。
jps命令格式:
jps [options] [hostid]
Options:
- -q 只输出LVMID,省略主类的名称;
- -m 输出虚拟机进程启动时传递给主类Main()函数的参数;
- -l 输出主类的全名,如果进程执行的是jar包,输出jar路径;
- -v 输出虚拟机进程启动时JVM参数;
jps可以通过RMI协议查询开启了RMI服务的远程虚拟机进程状态,hostid为RMI注册表中注册的主机名。
jps 192.168.8.7 //查看远程计算机192.168.8.7的情况(默认1099端口)
jps rmi://192.168.8.7:8888 //查看远程计算机192.168.8.7 8888端口
- 2. jstat 拟机统计信息监视工具(JVM Statistics Monitoring Tool)
监视虚拟机各种运行状态信息,可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。
jstat命令格式:
jstat [option vmid [ interval [s|ms] [count] ] ]
Options:
- -class 监视类装载、卸载数量、总空间及类装载所耗费的时间;
- -gc 监视Java堆状态,包括Eden区(E)、2个Survivor区(S0,S1)、老年代(O)、永久代(P)等的容量、已用空间、GC时间合计等信息;
- -gccapacity 监视内容与-gc基本相同,但输出主要关注Java堆各个区域使用到的最大和最小空间;
- -gcutil 监视内容与-gc基本相同,但输出主要关注已使用空间占总空间的百分比;
- -gccause 与-gcutil功能一样,但是会额外输出导致上一次gc产生的原因;
- -gcnew 监视新生代gc的状况;
- -gcnewcapacity 监视内容与-gcnew基本相同,输出主要关注使用到的最大和最小空间;
- -gcold 监视老年代gc的状况;
- -gcoldcapacity 监视内容与-gcold基本相同,输出主要关注使用到的最大和最小空间;
- -gcpermcapacity 输出永久代使用到的最大和最小空间;
- -compiler 输出JIT编译器编译过的方法、耗时等信息;
- -printcompilation 输出已经被JIT编译的方法;