原创

jdk命令行工具系列(1) - jps:虚拟机进程状态工具

jps(JVM Process Status Tool):虚拟机进程状态工具,可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函数所在的类)的名称,以及这些进程的本地虚拟机的唯一ID(LVMID,Local Vitual Machine Identifier),它是使用频率最高的JDK命令行工具,因为其他JDK工具大多需要输入它查询到的LVMID来确定要监控的是哪一个虚拟机进程。

对于本地虚拟机进程来说,LVMID与操作系统进程ID(PID,Process Identifier)是一致的。

如果同时启动了多个虚拟机进程,无法根据进程名称定位时,那就只能依靠jps命令显示主类的功能才能区分了。

jps命令格式:

jps [options] [hostid]

jps执行样例

D:\>jps -l
18292
42132 sun.tools.jps.Jps
22616 com.jvm.test6.Test
32284 org.jetbrains.idea.maven.server.RemoteMavenServer
41228 org.jetbrains.jps.cmdline.Launcher

jps工具主要选项

选项 作用
-q 只输出LVMID,省略主类的名称
-m 输出虚拟机进程启动时传递给main()函数的参数
-l 输出主类的全名,如果进程执行的是jar包,输出jar路径
-v 输出虚拟机进程启动时JVM参数

jps -q

只输出LVMID,省略主类的名称

D:\>jps -q
18292
41012
22616
32284
41228

jps -m

输出虚拟机进程启动时传递给main()函数的参数

file

D:\>jps -m
22616 Test 1 2

jps -l

输出主类的全名,如果进程执行的是jar包,输出jar路径。

D:\>jps -l
22616 com.jvm.test6.Test

jar包的情况

[root@localhost ~]# jps -l
43248 ./code/p-parent/p-other/p-api/target/p-api-0.0.1-SNAPSHOT.jar
43249 ./code/p-parent/p-job/target/p-job-0.0.1-SNAPSHOT.jar
52786 sun.tools.jps.Jps
43250 ./code/p-parent/p-core/p-core-admin/target/p-core-admin-0.0.1-SNAPSHOT.jar
43240 ./code/p-parent/p-cloud/p-cloud-discovery/target/p-cloud-discovery-0.0.1-SNAPSHOT.jar
43241 ./code/p-parent/p-msg/broker/p-msg-service/target/p-msg-service-0.0.1-SNAPSHOT.jar
43242 ./code/p-parent/p-dts/service/p-dts-service/target/p-dts-service-0.0.1-SNAPSHOT.jar
43243 ./code/p-parent/p-notification/p-notification-service/target/p-notification-service-0.0.1-SNAPSHOT.jar
43244 ./code/p-parent/p-account/p-account-service/target/p-account-service-0.0.1-SNAPSHOT.jar
43245 ./code/p-parent/p-borrow/p-borrow-service/target/p-borrow-service-0.0.1-SNAPSHOT.jar
43246 ./code/p-parent/p-depository/p-depository-service/target/p-depository-service-0.0.1-SNAPSHOT.jar
43247 ./code/p-parent/p-invest/p-invest-service/target/p-invest-service-0.0.1-SNAPSHOT.jar

jps -v

输出虚拟机进程启动时JVM参数

D:\>jps -v
22616 Test -Xms10m -Xmx1000m
正文到此结束
本文目录