JPS全称:Java Virtual Machine Process Status Tool
作用:jps主要用来输出JVM中运行的进程状态信息,且只显示当前用户启动的。
用法:
[root@chances123 ~]# jps --help
illegal argument: --help
usage: jps [-help]
jps [-q] [-mlvV] [<hosti
Definitions:
<hostid>: <hostname>[:<port>]
jps 监控路径:/tmp/hsperfdata_userName/PID 如将该目录下PID文件删除后,将无法获取任何信息。可用-Djava.io.tmpdir更改路径,如:java -Djava.io.tmpdir=/path/to/tmpdir
- jps
[root@chances123 ~]# jps
1176 Bootstrap
1214 Jps
显示已启动的java进程号和进程启动时调用的类名
- jps -q
[root@chances123 ~]# jps -q
1176
1260
只显示进程号
- jps -m
[root@chances123 ~]# jps -m
1176 Bootstrap start
1315 Jps -m
显示已启动的java进程号、进程启动时调用的类名、调用参数
- jps -l
[root@chances123 ~]# jps -l
1374 sun.tools.jps.Jps
1176 org.apache.catalina.startup.Bootstrap
显示已启动的java进程号、启动类名的全路径
- jps -v
[root@chances123 ~]# jps -v
1431 Jps -Dapplication.home=/opt/product/test/tools/jdk1.7.0_79 -Xms8m
1176 Bootstrap
-Djava.util.logging.config.file=/opt/product/test/tools/apache-tomcat-7.0.68/conf/logging.properties
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms512m -Xmx4096m -XX:PermSize=1280m
-Dcom.sun.management.jmxremote
-Djava.endorsed.dirs=/opt/product/test/tools/apache-tomcat-7.0.68/endorsed
-Dcatalina.base=/opt/product/test/tools/apache-tomcat-7.0.68
-Dcatalina.home=/opt/product/test/tools/apache-tomcat-7.0.68
-Djava.io.tmpdir=/opt/product/test/tools/apache-tomcat-7.0.68/temp
[root@chances123 ~]#
显示jvm参数
- jps -vml 192.168.220.123
[root@chances126 ~]# jps -vml 192.168.220.123
2096 org.apache.catalina.startup.Bootstrap start
-Djava.util.logging.config.file=/opt/product/test/tools/apache-tomcat-7.0.68/conf/logging.properties
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms512m -Xmx4096m -XX:PermSize=1280m
-Dcom.sun.management.jmxremote -Djava.endorsed.dirs=/opt/product/test/tools/apache-tomcat-7.0.68/endorsed
-Dcatalina.base=/opt/product/test/tools/apache-tomcat-7.0.68 -Dcatalina.home=/opt/product/test/tools/apache-tomcat-7.0.68
-Djava.io.tmpdir=/opt/product/test/tools/apache-tomcat-7.0.68/temp/
2649 sun.tools.jstatd.Jstatd
-Dapplication.home=/opt/product/test/tools/jdk1.7.0_79 -Xms8m
-Djava.security.policy=/opt/product/test/jstatd.all.policy
-Djava.rmi.server.hostname=192.168.220.123
-Djava.net.preferIPv4Stack=true
[root@chances126 ~]#
显示远程机器上java进程信息,用到了Jstatd。
- Jstatd配置
创建文件
[root@chances123 test]# cat jstatd.all.policy
grant codebase "file:/opt/product/test/tools/jdk1.7.0_79/lib/tools.jar" { permission java.security.AllPermission; };
执行
jstatd -J-Djava.security.policy=/opt/product/test/jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.220.123 -J-Djava.net.preferIPv4Stack=true
- cheat 自扩展
在.cheat 目录下创建jps文件,输入如下内容
# 查看当前用户所启动的java进程的PID、调用类名、启动参数
jps -vml
[root@chances123 .cheat]# cheat jps
# 查看当前用户所启动的java进程的PID、调用类名、启动参数
jps -vml
不用担心,记不住参数是什么含义啦。