JVM自带性能分析工具介绍——JPS

#前言
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,每一种工具都有其自身的特点,用户可以根据你需要检测的应用或者程序片段的状况,适当的选择相应的工具进行检测,这里我们就简要介绍下这几个命令的作用和使用方法。

命令作用
jps基础工具
jstack查看某个Java进程内的线程堆栈信息
jmapjmap导出堆内存,然后使用jhat来进行分析
jhatjmap导出堆内存,然后使用jhat来进行分析
jstatJVM统计监测工具
hprofhprof能够展现CPU使用率,统计堆内存使用情况

##jps: 基础工具
jps主要用来输出JVM中运行的进程状态信息,实际中这是最常用的命令,下面要介绍的小工具更多的都是先要使用jps查看出当前有哪些Java进程,获取该Java进程的id后再对该进程进行处理。
其可配置参数有:

参数作用
-q不输出类名、Jar名和传入main方法的参数
-m输出传入main方法的参数
-v输出传递给main 方法的参数,在嵌入式jvm上可能是null, 在这里,在启动main方法的时候,我给String[] args传递两个参数
-l输出应用程序main class的完整package名 或者 应用程序的jar文件完整路径名

比如:

[esv@bz3esvbs0ap1001 ~]$ jps
11523 CtrlBootstrap
39223 Jps
11851 WorkgroupBootstrap
46924 Bootstrap
[esv@bz3esvbs0ap1001 ~]$ jps -l
39281 sun.tools.jps.Jps
11523 cn.com.agree.afa.ctrl.CtrlBootstrap
11851 cn.com.agree.afa.group.WorkgroupBootstrap
46924 org.apache.catalina.startup.Bootstrap
[esv@bz3esvbs0ap1001 ~]$ jps -m
39266 Jps -m
11523 CtrlBootstrap
11851 WorkgroupBootstrap 1
46924 Bootstrap start
[esv@bz3esvbs0ap1001 ~]$ jps -v
11523 CtrlBootstrap -Djava.io.tmpdir=/opt/esv/odd/app/temp -Dafa.home=/opt/esv/odd/app -Djava.io.tmpdir=/opt/esv/odd/app/temp -Damq.dir=/opt/esv/odd/app/data/amq -Droutingtable.file=/opt/esv/odd/app/data/routingtable.shm -Dscoreboard.file=/opt/esv/odd/app/data/scoreboard.shm -Dstarting.state.file=/opt/esv/odd/app/data/starting.state -Dplatform.config.file=/opt/esv/odd/app/conf/platform/platform.xml -Dplatform.schema.file=/opt/esv/odd/app/conf/platform/platform.xsd -Dplatform.license.file=/opt/esv/odd/app/conf/AFA4J.lic -Dgrp.startup.shell=/opt/esv/odd/app/bin/grpstart -Dlog.name=ctrl -Dregistry.export.file=/opt/esv/odd/app/conf/platform/exportapp -Xms256m -Xmx256m
39254 Jps -Dapplication.home=/opt/jdk1.8.0_131 -Xms8m
11851 WorkgroupBootstrap -Djava.io.tmpdir=/opt/esv/odd/app/temp -Dafa.home=/opt/esv/odd/app -Djava.io.tmpdir=/opt/esv/odd/app/temp -Damq.dir=/opt/esv/odd/app/data/amq -Droutingtable.file=/opt/esv/odd/app/data/routingtable.shm -Dscoreboard.file=/opt/esv/odd/app/data/scoreboard.shm -Dlog.name=group1 -Dplatform.config.file=/opt/esv/odd/app/conf/platform/platform.xml -Dplatform.schema.file=/opt/esv/odd/app/conf/platform/platform.xsd -Dplatform.license.file=/opt/esv/odd/app/conf/AFA4J.lic -Dregistry.export.file=/opt/esv/odd/app/conf/platform/exportapp -Xms1024m -Xmx1024m -Xmn512m -XX:SurvivorRatio=8 -XX:PermSize=64m -XX:MaxPermSize=512m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:MaxTenuringThreshold=10 -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=60 -XX:+UseCMSInitiatingOccupancyOnly -XX:+CMSClassUnloadingEnabled -XX:CMSFullGCsBeforeCompaction=0 -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/var/log/esv/server/gc.log -XX:ErrorFile=/var/log/esv/server/java_error_%p.l
46924 Bootstrap -Djava.util.logging.config.file=/opt/esv/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dfile.encoding=utf-8 -Djava.endorsed.dirs=/opt/esv/tomcat/endorsed -Dcatalina.base=/opt/esv/tomcat -Dcatalina.home=/opt/esv/tomcat -Djava.io.tmpdir=/opt/esv/tomcat/temp
[esv@bz3esvbs0ap1001 ~]$ jps -mvl
46924 org.apache.catalina.startup.Bootstrap start -Djava.util.logging.config.file=/opt/esv/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dfile.encoding=utf-8 -Djava.endorsed.dirs=/opt/esv/tomcat/endorsed -Dcatalina.base=/opt/esv/tomcat -Dcatalina.home=/opt/esv/tomcat -Djava.io.tmpdir=/opt/esv/tomcat/temp
13790 sun.tools.jps.Jps -mvl -Dapplication.home=/opt/jdk1.8.0_131 -Xms8m

这是tomcat的启动参数信息。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值