JPS全称为Java process Status。通过jps -help能看到jps支持的参数,如下:
[root@iZwz96yphgzn3atc5wa1b1Z ~]# jps -hlep
illegal argument: -hlep
usage: jps [-help]
jps [-q] [-mlvV] [<hostid>]
Definitions:
<hostid>: <hostname>[:<port>]
系统输出显示,可用参数为分别为:q m l v,分别的功能为:
- -q :仅仅显示LVMID(local virtual machine id),即本地虚拟机唯一的id。不显示主类名称等信息。
[root@iZwz96yphgzn3atc5wa1b1Z ~]# jps -q
1896141
456917
3868632
3868479
3869295
3869203
1078937
1077131
439914
1079389
3867557
- -l :输出应用程序主类的全类名或者如果进程执行的是jar包,则输出jar的完整路径。
[root@iZwz96yphgzn3atc5wa1b1Z /]# jps -l
456917 /data/server/nacos/target/nacos-server.jar
3868632 hht-operation-0.0.1-SNAPSHOT.jar
3868479 hht-courses-0.0.1-SNAPSHOT.jar
3869295 hht-operation-0.0.1-SNAPSHOT.jar
3869203 hht-user-0.0.1-SNAPSHOT.jar
1078937 hht-resource-0.0.1-SNAPSHOT.jar
1077131 hht-admin-0.0.1-SNAPSHOT.war
439914 hht-api-0.0.1-SNAPSHOT.jar
1079389 hht-resource-0.0.1-SNAPSHOT.jar
3867557 hht-async-0.0.1-SNAPSHOT.jar
1896354 sun.tools.jps.Jps
- -m :输出虚拟机进程启动时传递给主类main的参数(工作中基本没用到,就自己写一个小demo)
代码:
public class TestJVMTools {
public static void main(String[] args) throws InterruptedException {
Arrays.stream(args).forEach(System.out::println);
Thread.sleep(2000000);//为了不让jvm进程结束,jps工具能查看到进程的情况
}
}
参数设置:(在Program argiments中设置了:1、2、3、4、5)
jps -m输出效果:
C:\Users\lenovo>jps -m
24872 Jps -m
12460 TestJVMTools 1 2 3 4 5
- -v :列出虚拟机进程启动时的JVM的参数。比如:-Xms20m -Xmx50m -Xmn10m是JVM启动时指定的JVM参数:
这里主要指定了JVM启动时输出堆内存和最大堆内存的大小,还有就是端口号
[root@iZwz96yphgzn3atc5wa1b1Z /]# jps -v
456917 nacos-server.jar -Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true -Dnacos.member.list= -Djava.ext.dirs=/usr/jvm/java/jdk1.8.0_11/jre/lib/ext:/usr/jvm/java/jdk1.8.0_11/lib/ext -Xloggc:/data/server/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/data/server/nacos/plugins/health,/data/server/nacos/plugins/cmdb -Dnacos.home=/data/server/nacos
3868632 jar -Xms512m -Xmx1024m -Dserver.port=12001
3868479 jar -Xms512m -Xmx1024m -Dserver.port=19001
3869295 jar -Xms512m -Xmx1024m -Dserver.port=12002
1897754 Jps -Denv.class.path=.:/usr/jvm/java/jdk1.8.0_11/jre/lib/ext:/usr/jvm/java/jdk1.8.0_11/lib/tools.jar -Dapplication.home=/usr/jvm/java/jdk1.8.0_11 -Xms8m
3869203 jar -Xms512m -Xmx1024m -Dserver.port=14001
1078937 jar -Xms512m -Xmx2048m -Dserver.port=13001
1077131 war -Xms512m -Xmx2048m -Dserver.port=11001
439914 jar -Xms512m -Xmx1024m -Dserver.port=15001 -Dspring.cloud.sentinel.transport.client-ip=47.99.109.141
1079389 jar -Xms512m -Xmx2048m -Dserver.port=13002
3867557 jar -Xms512m -Xmx2048m -Dserver.port=18001
说明:
- 以上参数可以综合使用,两个或者多个参数一起使用
- 如果某个Java进程默认关闭了UsePerfData参数(使用参数-XX:-UsePerfData),那么jps命令将无法探知到该Java进程