Jps 工具使用

1、JPS 简介

       JPS(全称:Java Virtual Machine Process Status Tool)。安装JDK后在%JAVA_HOME%/bin目录下面自带的一个工具。用来查看计算机上面运行的JAVA进程。(如下图)  在Linux机器上我一般使用的ps -aux|grep java。

   该工具只有16KB,所占内存很小。但是他会调用%JAVA_HOME%/lib/tools.jar里面的JAVA方法,来实现功能。

Jps 工具使用_第1张图片

 这样的话,我们可以在自己的程序内部调用这个jar包的方法。实现自己对服务器的JVM监控。

2、JPS使用

命令格式:jps [ options ] [ hostid ]

options 包含 选项:qmlvV

hostid 用于连接其他机器


jps -q 只显示进程号

C:\Users\Winston>jps -q
13476
2964
15224
9800

 跟windows自带的任务管理器里面的PID就行比较,发现是一致的。此处windows进程里面少了一个。主要是少了我们当前运行的jps 命令。他也会发起一个java进程。

Jps 工具使用_第2张图片


jps -m 显示传递给main方法的参数。针对嵌入式JVM可能输出null.

Jps 工具使用_第3张图片

C:\Users\Winston>jps -m
11284 Test1 testjps
13476 Test1
15224 org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar -os win32 -ws win32 -arch x86_64 -showsplash D:\ProgramFiles\eclipsejee\\plugins\org.eclipse.epp.package.common_4.7.3.20180405-1200\splash.bmp -launcher D:\ProgramFiles\eclipsejee\eclipse.exe -name Eclipse --launcher.library D:\ProgramFiles\eclipsejee\\plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.551.v20171108-1834\eclipse_1630.dll -startup D:\ProgramFiles\eclipsejee\\plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar --launcher.appendVmargs -exitdata 2c10_118 -product org.eclipse.epp.package.jee.product -vm C:\ProgramData\Oracle\Java\javapath\javaw.exe -vmargs -Dosgi.requiredJavaVersion=1.8 [email protected]/eclipse-workspace -XX:+UseG1GC -XX:+UseStringDeduplication -Dosgi.requiredJavaVersion=1.8 -Xms256m -Xmx1024m -jar D:\ProgramFiles\eclipsejee\\plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
9800 org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar -os win32 -ws win32 -arch x86_64 -showsplash D:\ProgramFiles\eclipsejee\\plugins\org.eclipse.epp.package.common_4.7.3.20180405-1200\splash.bmp -launcher D:\ProgramFiles\eclipsejee\eclipse.exe -name Eclipse --launcher.library D:\ProgramFiles\eclipsejee\\plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.551.v20171108-1834\eclipse_1630.dll -startup D:\ProgramFiles\eclipsejee\\plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar --launcher.appendVmargs -exitdata 2310_110 -product org.eclipse.epp.package.jee.product -vm C:\ProgramData\Oracle\Java\javapath\javaw.exe -vmargs -Dosgi.requiredJavaVersion=1.8 [email protected]/eclipse-workspace -XX:+UseG1GC -XX:+UseStringDeduplication -Dosgi.requiredJavaVersion=1.8 -Xms256m -Xmx1024m -jar D:\ProgramFiles\eclipsejee\\plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
14988 Jps -m

可以看到上图的 11284进程后面 有显示刚才传入的参数testjps


jps -l 显示运行程序主类的包名,或者运行程序jar包的完整路径

C:\Users\Winston>jps -l
11284 com.winston.jvm.Test1
13476 com.winston.jvm.Test1
13416 sun.tools.jps.Jps
15224 D:\ProgramFiles\eclipsejee\\plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
9800 D:\ProgramFiles\eclipsejee\\plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar

jps -v 显示传递给JVM的参数

Jps 工具使用_第4张图片

C:\Users\Winston>jps -v
11284 Test1 -XX:+PrintGCDetails -XX:+UseSerialGC -XX:PretenureSizeThreshold=3M -Dfile.encoding=UTF-8
13476 Test1 -XX:+PrintGCDetails -XX:+UseSerialGC -XX:PretenureSizeThreshold=3M -Dfile.encoding=UTF-8
14920 Jps -Dapplication.home=C:\Program Files\Java\jdk1.8.0_152 -Xms8m
15224 org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar -Dosgi.requiredJavaVersion=1.8 [email protected]/eclipse-workspace -XX:+UseG1GC -XX:+UseStringDeduplication -Dosgi.requiredJavaVersion=1.8 -Xms256m -Xmx1024m
9800 org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar -Dosgi.requiredJavaVersion=1.8 [email protected]/eclipse-workspace -XX:+UseG1GC -XX:+UseStringDeduplication -Dosgi.requiredJavaVersion=1.8 -Xms256m -Xmx1024m

C:\Users\Winston>

jps -V  显示主类名或者jar包名

C:\Users\Winston>jps -V
11284 Test1
13476 Test1
14532 Jps
15224 org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
9800 org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar

官方文档:https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jps.html

 

你可能感兴趣的:(jdk工具)