英文全称
Java Virtual Machine Process Status Tool 可以列出本机所有Java进程的pid
功能和ps类似:可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函数所在的类)的名称,以及这些进程的本地虚拟机的唯一ID(LVMID,Local Virtual Machine Identifier)。虽然功能比较单一,但它是使用频率最高的JDK命令行工具,因为其他JDK工具大多需要输入它查询到的LVMID来确定要监控的是哪一个虚拟机进程。对于本地虚拟机进程来说,LVMID与操作系统的进程ID(PID,Process Identifier)是一致的,使用Windows的任务管理器或Unix的ps命令也可以查询到虚拟机进程的LVMID,但如果使用了多个虚拟机进程,无法根据进程名称定位时,那就只能依赖jps命令显示主类的功能区才能区分了。
命令格式
jps [ options ] [ hostid ]
选项
- -q 仅输出VM标识符,不包括class name,jar name,arguments in main method
- -m 输出main method的参数
- -l 输出完全的包名,应用主类名,jar的完全路径名
- -v 输出jvm参数
- -V 输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件
- -Joption 传递参数到vm,例如:-J-Xms48m
hostid
[protocol:][[//]hostname][:port][/servername]
jps可以通过RMI协议查询开启了RMI服务的远程虚拟机进程状态,hostid为RMI注册表中注册的主机名。jps的其他常用选项见下表
示例
Tips :需要有JDK环境
- jps 仅显示进程id,主类名
[root@iZbp13vdh76h8tevitqolvZ ~]# jps
25273 Bootstrap
681 Jps
1914 Application
- jps -q 仅显示进程id
[root@iZbp13vdh76h8tevitqolvZ ~]# jps -q
692
25273
1914
- jps -l 输出完全的包名,主类名,jar完全路径名
[root@iZbp13vdh76h8tevitqolvZ ~]# jps -l
25273 org.apache.catalina.startup.Bootstrap
1914 com.aliyun.tianji.cloudmonitor.Application
703 sun.tools.jps.Jps
- jps -v 显示jvm参数
[root@iZbp13vdh76h8tevitqolvZ ~]# jps -v
713 Jps -Dapplication.home=/usr/java/jdk1.8.0_66 -Xms8m
25273 Bootstrap -Djava.util.logging.config.file=/usr/local/tools/apache-tomcat-8.0.32/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tools/apache-tomcat-8.0.32/endorsed -Dcatalina.base=/usr/local/tools/apache-tomcat-8.0.32 -Dcatalina.home=/usr/local/tools/apache-tomcat-8.0.32 -Djava.io.tmpdir=/usr/local/tools/apache-tomcat-8.0.32/temp
1914 Application -Djava.compiler=none -XX:-UseGCOverheadLimit -XX:NewRatio=1 -XX:SurvivorRatio=8 -XX:+UseSerialGC -Djava.io.tmpdir=../../tmp -Xms16m -Xmx32m -Djava.library.path=../lib:../../lib -Dwrapper.key=BXKoHFSxPv82MgPj -Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.disable_console_input=TRUE -Dwrapper.pid=1207 -Dwrapper.version=3.5.27 -Dwrapper.native_library=wrapper -Dwrapper.arch=x86 -Dwrapper.service=TRUE -Dwrapper.cpu.timeout=10 -Dwrapper.jvmid=5
- jps -lv 127.0.0.1 输出127.0.0.1机器上的java进程,显示jvm参数,显示完全的包名,主类名,jar完全路径 注意:127.0.0.1主机要启动jstatd
[root@iZbp13vdh76h8tevitqolvZ ~]# jps -lv 127.0.0.1
RMI Registry not available at 127.0.0.1:1099
Connection refused to host: 127.0.0.1; nested exception is:
java.net.ConnectException: Connection refused