0%

jps命令

本文使用的JDK版本为jdk1.7.0_79。

一、常用用法

1
jps [-qlmvV]

二、含义与选项

2.1、含义

列出在本机运行的有权限进行访问的虚拟机进程的状态信息(主要跟“java”命令对应)。

2.2、选项

1、“无选项”
列出所有有权限进行访问的虚拟机进程的进程ID和运行主类/运行JAR包名称。
2、“-q”选项
只列出所有有权限进行访问的虚拟机进程的进程ID。
3、“-l”选项
运行主类/运行JAR包名称以完整路径形式展现。
4、“-m”选项
列出传递给运行主类/运行JAR包“public static void main(String[] args)”方法的参数。
5、“-v”选项
列出运行虚拟机进程时通过命令行形式传递给虚拟机的参数。
6、“-V”选项
列出运行虚拟机进程时通过文件形式(“.hotspotrc”文件或者“-XX:Flags=<filename>”指定的文件)传递给虚拟机的参数。

三、例子

3.1、例子1

有如下一段代码:

1
2
3
4
5
public class Example {
public static void main(String[] args) throws InterruptedException {
Thread.sleep(10 * 60 * 1000L);
}
}

编译后,执行java -verbose:jni -Dhello=world -Xnoclassgc -Xloggc:jvm.log -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xms10M -Xmx20M -XX:SurvivorRatio=8 -XX:PermSize=20M -XX:MaxPermSize=100M Example 10 20命令,在该虚拟机进程还在运行时,执行jps -lmvV命令,得到如下所示结果:

1
11441 Example 10 20 -verbose:jni -Dhello=world -Xnoclassgc -Xloggc:jvm.log -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xms10M -Xmx20M -XX:SurvivorRatio=8 -XX:PermSize=20M -XX:MaxPermSize=100M

3.2、例子2

需要注意的是,在加上“-v/-V”选项的情形下,有些虚拟机参数还是不会显示,比如“-classpath”,“-showversion”。
使用上一小节的代码,编译后,执行java -showversion -verbose:jni -Dhello=world -classpath ".:$JAVA_HOME/lib/tools.jar" -Xnoclassgc -Xloggc:jvm.log -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xms10M -Xmx20M -XX:SurvivorRatio=8 -XX:PermSize=20M -XX:MaxPermSize=100M Example 10 20命令,在该虚拟机进程还在运行时,执行jps -lmvV命令,得到如下所示结果:

1
11541 Example 10 20 -verbose:jni -Dhello=world -Xnoclassgc -Xloggc:jvm.log -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xms10M -Xmx20M -XX:SurvivorRatio=8 -XX:PermSize=20M -XX:MaxPermSize=100M

参考文献: [1]http://docs.oracle.com/javase/7/docs/technotes/tools/share/jps.html [2]man jps
您的支持将鼓励我继续分享!