jps jstat命令说明
1、jps命令说明
jps可查看虚拟机进程状态,jps 可查看当前进程id,参数说明如下
jps -m
输出虚拟机进程启动时传递给main()函数的参数
jps -l
输出主类全名,如果进程执行的是jar包,则输出jar路径
jps -v
输出虚拟机进程启动时jvm参数
下面用一个测试类简单模拟一下 MainTest.java
public class MainTest{
public static void main(String[] args) throws Exception{
System.out.println("test is ok");
Thread.sleep(1000*1000); //为了看到运行时的参数休眠一段时间
}
}
windows下执行以下命令
C:\temp1>javac MainTest.java & java -Dname=bill MainTest corporation:jd
test is ok
再打开另外一个命令行窗口
c:\temp1>jps
6448 Jps
6848 MainTest
c:\temp1>jps -m
6848 MainTest corporation:jd
456 Jps -m
c:\temp1>jps -l
6848 MainTest
7500 sun.tools.jps.Jps
c:\temp1>jps -v
6848 MainTest -Dname=bill
8748 Jps -Dapplication.home=C:\test\jdk\jdk1.8.0_66 -Xms8m
2、jstat命令说明
jstat可查看虚拟机的一些统计信息,首先用jps获取到进程id;
-class(监视装载类、卸载类、总空间以及类装载所耗费的时间)
-gc(监视java堆状况,包括eden区、两个survivor区、老年代、永久代等的容量、已用空间、GC时间合计信息)
-gccapacity(监视内容与-gc基本相同,但输出主要关注java堆各个区域使用到最大、最小空间)
-gcutil(监视内容与-gc基本相同,但输出主要关注已使用控件占总空间的百分比)
-gccause(与-gcutil功能一样,但是会额外输出导致上一次gc产生的原因)
-gcnew(监视新生代GC情况)
-gcnewcapacity(监视内容与-gcnew基本相同,输出主要关注使用到的最大、最小空间)
-gcold(监视老年代GC情况)
-gcoldcapacity(监视内容与-gcold基本相同,输出主要关注使用到的最大、最小空间)
-gcpermcapacity(jdk8为-gcmetacapacity)(输出永久代使用到的最大、最小空间)
-compiler(输出JIT编译过的方法、耗时等信息)
-printcompilation(输出已经被JIT编译过的方法)
如以下命令,6008为进程id,1000表示1秒种
jstat -gc 6008 1000