Jps 虚拟机进程状况工具

Oct 11, 2017 阅读(201)

标签: 性能优化 Jvm


JDK 的很多小工具的名字都参考了UNIX命名的命名方式,jps ( JVM Process Status Tool ) 是其中的典型。除了名字像UNIX的ps命令之外,它的功能也和ps命令类似:可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main() 函数所在的类)名称以及这些进程的本地虚拟机唯一ID(Local Virtual Machine Identifier,LVMID)。虽然功能比较单一,但它是使用频率最高的JDK命令行工具。因为其他的JDK工具大多需要输入它查到的LVMID来确定要监控的是哪一个虚拟机进程。对于本地虚拟机进程来说,LVMID与操作系统的进程ID(Process Identifier,PID)是一致的。使用Windows 的任务管理器或者UNIX的ps命令也可以查询到虚拟机进程的LVMID,但如果同时启动了多个虚拟机进程,无法根据进程名称定位时,那就只能依赖jps命令显示主类的功能才能区分了。

jps 命令格式:

jps [ options ] [ hostid ]

jps 执行样例:

blob.png

jps 可以通过RMI协议查询开启了RMI服务的远程虚拟机进程状态,hostid 为RMI注册表中注册的主机名。jps 的其他常用选项见下表:

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