jps命令

    列出目标系统上检测到的Java虚拟机(JVM)。

概要

jps [options][hostid]

options

    命令行选项,详见Options。

hostid

    指定特定主机,可以是ip地址和域名, 也可以指定具体协议,端口。其格式如下:
[protocol:][[//]hostname][:port][/servername]

jps输出格式

lvmid [ [ classname | JARfilename | “Unknown”] [ arg ] [ jvmarg* ] ]*

描述

    jps是用于查看有权访问的JVM的进程。未指定hostid时,默认查看本机JVM进程,否者查看指定的hostid机器上的JVM进程,此时hostid所指机器必须开启jstatd服务。jps可以列出JVM进程lvmid(本地虚拟机唯一ID,进程ID)。在无参时默认列出lvmid和应用的类名或jar文件名。

    jps命令使用Java 启动器来寻找被传入主方法的类名和参数。如果JVM使用自定义启动器启动,则找不到被传入主方法的类名和参数,jps会输出Unknown。

Options

    没添加option的时候,默认列出VM标示符号和简单的class或jar名称。如下:

1
2
3
4
5
6
-> % jps
11810 Application
20997 UserProviderApplication
3431 TaskApplication
11723 current.war
15175 Jps

-q

    不显示类名,JAR名称,传入main方法的参数。仅显示lvmid。

1
2
3
4
5
6
-> % jps -q
11810
20997
3431
11723
17870

-m

    显示被传入main方法的参数。在嵌入JVM中输出可能为null。

1
2
3
4
5
6
-> % jps -m
11810 Application 6332
25620 Jps -m
20997 UserProviderApplication start
3431 TaskApplication start
11723 current.war 6213

-l

    显示main方法完整的包名或JAR的路径。

1
2
3
4
5
6
-> % jps -l
11810 com.lyyljs.demo.test.Application
20997 com.lyyljs.demo.user.UserProviderApplication
3431 com.lyyljs.demo.task.main.TaskApplication
459 sun.tools.jps.Jps
11723 /home/lyyljs/projects/demo_war/current.war

-v

    列出传入JVM的参数。

1
2
3
4
5
11810 Application -Dfile.encoding=UTF-8 -Xms128m -Xmx128m -XX:MaxDirectMemorySize=72m -Xmn64m -XX:MetaspaceSize=60m -XX:SurvivorRatio=10 -XX:+PrintGCDetails -Xloggc:/home/lyyljs/projects/test/logs/gc.log -XX:+PrintGCTimeStamps
20997 UserProviderApplication -Xms128m -Xmx256m -XX:MaxDirectMemorySize=96m -Xmn64 -XX:SurvivorRatio=10 -XX:+PrintGCDetails -Xloggc:/home/lyyljs/projects/user_provider/logs/gc.log -XX:+PrintGCDateStamps
7062 Jps -Dapplication.home=/home/lyyljs/lan/jdk8 -Xms8m
3431 TaskApplication -Xms256m -Xmx256m -XX:MaxDirectMemorySize=96m -XX:MetaspaceSize=60m -Xmn128m -XX:SurvivorRatio=10 -Xloggc:/home/lyyljs/projects/task/logs/gc.log
11723 current.war -Xms512m -Xmx1732m -XX:MaxDirectMemorySize=96m -Xmn128 -XX:SurvivorRatio=10 -XX:+PrintGCDetails -Xloggc:/home/lyyljs/projects/demo_war/logs/gc.log -XX:+PrintGCTimeStamps

-V

    列出VM标示符号和简单的class或jar名称。同不带参时。

1
2
3
4
5
6
-> % jps -V
11810 Application
20997 UserProviderApplication
3431 TaskApplication
11723 current.war
17069 Jps

-Joption

    传递启动参数到JVM。参考java命令。例如-J-Xms48m设定启动内存为48MB。

1
2
3
4
5
6
-> % jps -J-Xms16m
11810 Application
20997 UserProviderApplication
3431 TaskApplication
11723 current.war
22936 Jps

参考