Java程序性能诊断工具-jps

JPS全称:Java Virtual Machine Process Status Tool
作用:jps主要用来输出JVM中运行的进程状态信息,且只显示当前用户启动的。
用法:

[root@chances123 ~]# jps --help
illegal argument: --help
usage: jps [-help]
       jps [-q] [-mlvV] [:      [:]

jps 监控路径:/tmp/hsperfdata_userName/PID 如将该目录下PID文件删除后,将无法获取任何信息。可用-Djava.io.tmpdir更改路径,如:java -Djava.io.tmpdir=/path/to/tmpdir

  1. jps
[root@chances123 ~]# jps
1176 Bootstrap
1214 Jps

显示已启动的java进程号和进程启动时调用的类名

  1. jps -q
[root@chances123 ~]# jps -q
1176
1260

只显示进程号

  1. jps -m
[root@chances123 ~]# jps -m
1176 Bootstrap start
1315 Jps -m

显示已启动的java进程号、进程启动时调用的类名、调用参数

  1. jps -l
[root@chances123 ~]# jps -l
1374 sun.tools.jps.Jps
1176 org.apache.catalina.startup.Bootstrap

显示已启动的java进程号、启动类名的全路径

  1. 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参数

  1. 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。

  1. 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 
  1. cheat 自扩展
    在.cheat 目录下创建jps文件,输入如下内容
# 查看当前用户所启动的java进程的PID、调用类名、启动参数
jps -vml
[root@chances123 .cheat]# cheat jps
# 查看当前用户所启动的java进程的PID、调用类名、启动参数
jps -vml

不用担心,记不住参数是什么含义啦。

你可能感兴趣的:(Java程序性能诊断工具-jps)