使用jps查看JVM进程信息

Posted liuys635

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用jps查看JVM进程信息相关的知识,希望对你有一定的参考价值。

VM进程状态工具 - 列出目标系统上已检测的HotSpot Java虚拟机进程信息。可直接在装有java运行环境的Windows 或者 Linux机器上使用命令行执行jps命令。一个典型的应用场景,例如你不知道这台机器上运行的java程序所在的位置,或者不了解它启动时的一些参数设置,便可使用jps命令查看。

语法:jps [ options ] [ hostid ]

option可选参数:

-q : 输出JVM进程ID
-m:输出JVM启动时传递给main()函数的参数,嵌入式的JVM可能参数为null
-l:输出main()函数所在类的全名,如果允许的是jar文件,输出jar文件完整路径
-v:输出JVM进程启动时传递的参数
-V:输出JVM进程号和启动类型(jar 或者 主类名称,是默认的选项)
hostid: 主机ID,可以查看其它机器的进程信息,不推荐使用。

-q示例:
仅仅显示JVM进程号,并没什么实际作用,所以它不常用

[root@localhost ~]$ jps -q
17091
30934
30591

-m示例:

[root@localhost ~]$ jps -m
16183 Jps -m
22979 start.jar jetty.state=/data/jettyDEPLOY/jetty.state jetty-logging.xml jetty-started.xml

由输出结果可以看出,jps -m 命令输出了当前机器所运行的所有JVM进程(此处只有一个jps自身的进程和一个jetty进程)。它的输出格式为:进程号 启动类或者包名 启动参数列表。可以看出进程号为22979的进程,是属于start.jar这个包的,同时它设置了jetty.state参数为xml配置文件

-l示例:

[root@localhost ~]$ jps -l
16239 sun.tools.jps.Jps
22979 /data/jettyDEPLOY/start.jar

显示所有的JVM进程,包含进程号和主类或者jar包的完整路径

-v示例:

[root@localhost ~]$ jps -v
16253 Jps -Dapplication.home=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64 -Xms8m
22979 start.jar -Xmx512m -Xms512m -Xmn512m -Xss256k -XX:PermSize=768m -XX:MaxPermSize=768m -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:CMSFullGCsBeforeCompaction=5 -XX:+UseCMSCompactAtFullCollection -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/jettyDEPLOY/dump -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/data/jettyDEPLOY/dump/heap_trace.txt -Djetty.logs=/data/jettyDEPLOY/logs -Djetty.home=/data/jettyDEPLOY -Djetty.base=/data/jettyDEPLOY

 

显示所有JVM进程的,包含进程号、启动类或者包以及启动时传递给JVM的所有参数

-V示例:

[root@localhost ~]$ jps
22979 start.jar
16280 Jps
[root@localhost ~]$ jps -V
16294 Jps
22979 start.jar

 


它和不加参数一样,就不过多介绍,可以看到输出结果中start.jar的进程号是一致的。

以上是关于使用jps查看JVM进程信息的主要内容,如果未能解决你的问题,请参考以下文章

jvm学习

JVM jinfo命令(Java Configuration Info) 用法小结

JVM监控及诊断工具-命令之jstat

JVM调优常用参数

jvm---常用监控工具指令

jvm 工具类之 —— jps