JPS全称为Javaprocess Status。通过jps -help能看到jps支持的参数,如下:
[root@iZwz96yphgzn3atc5wa1b1Z ~]# jps -hlepillegal argument: -hlepusage: jps [-help]jps [-q] [-mlvV] [<hostid>]Definitions:<hostid>:<hostname>[:<port>]
系统输出显示,可用参数为分别为:q m l v,分别的功能为:
-q :仅仅显示LVMID(local virtual machine id),即本地虚拟机唯一的id。不显示主类名称等信息。
[root@iZwz96yphgzn3atc5wa1b1Z ~]# jps -q189614145691738686323868479386929538692031078937107713143991410793893867557
-l :输出应用程序主类的全类名或者如果进程执行的是jar包,则输出jar的完整路径。
[root@iZwz96yphgzn3atc5wa1b1Z /]# jps -l456917 /data/server/nacos/target/nacos-server.jar3868632 hht-operation-0.0.1-SNAPSHOT.jar3868479 hht-courses-0.0.1-SNAPSHOT.jar3869295 hht-operation-0.0.1-SNAPSHOT.jar3869203 hht-user-0.0.1-SNAPSHOT.jar1078937 hht-resource-0.0.1-SNAPSHOT.jar1077131 hht-admin-0.0.1-SNAPSHOT.war439914 hht-api-0.0.1-SNAPSHOT.jar1079389 hht-resource-0.0.1-SNAPSHOT.jar3867557 hht-async-0.0.1-SNAPSHOT.jar1896354 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 -m24872 Jps -m12460 TestJVMTools 1 2 3 4 5
-v :列出虚拟机进程启动时的JVM的参数。比如:-Xms20m -Xmx50m -Xmn10m是JVM启动时指定的JVM参数:
这里主要指定了JVM启动时输出堆内存和最大堆内存的大小,还有就是端口号
[root@iZwz96yphgzn3atc5wa1b1Z /]# jps -v456917 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/nacos3868632 jar -Xms512m -Xmx1024m -Dserver.port=120013868479 jar -Xms512m -Xmx1024m -Dserver.port=190013869295 jar -Xms512m -Xmx1024m -Dserver.port=120021897754 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 -Xms8m3869203 jar -Xms512m -Xmx1024m -Dserver.port=140011078937 jar -Xms512m -Xmx2048m -Dserver.port=130011077131 war -Xms512m -Xmx2048m -Dserver.port=11001439914 jar -Xms512m -Xmx1024m -Dserver.port=15001 -Dspring.cloud.sentinel.transport.client-ip=47.99.109.1411079389 jar -Xms512m -Xmx2048m -Dserver.port=130023867557 jar -Xms512m -Xmx2048m -Dserver.port=18001
说明:
以上参数可以综合使用,两个或者多个参数一起使用如果某个Java进程默认关闭了UsePerfData参数(使用参数-XX:-UsePerfData),那么jps命令将无法探知到该Java进程
如果觉得《JVM性能监控工具 - jps》对你有帮助,请点赞、收藏,并留下你的观点哦!