JVM性能调优监控工具
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具.
在Java应用中,我们会经常碰到下面这些问题:
OutOfMemoryError,内存不足
内存泄露
线程死锁
锁争用(Lock Contention)
Java进程消耗CPU过高
......
本文将对一些常用的JVM性能调优监控工具进行介绍,对以后java应用出现上述问题后,可以进行优化和找到问题的根源,而不是简单粗暴的重启应用和添加内存了.
1. jps(Java Virtual Machine Process Status Tool)
jps主要用来输出JVM中运行的进程状态信息。
特殊说明
jps仅查找当前用户的Java进程,而不是当前系统中的所有进程。
比较常用的参数如下:
-q 只显示pid,不显示class名称,jar文件名和传递给main方法的参数 -m 输出传入main方法的参数 -l 输出应用程序main class的完整package名 或者 应用程序的jar文件完整路径名 -v 输出传入JVM的参数
实例:
[[email protected] ~]# jps 23991 Jps 23789 BossMain 23651 Resin [[email protected] ~]# jps -q 28680 23789 23651 [[email protected] ~]# jps -m 28715 Jps -m 23789 BossMain 23651 Resin -socketwait 32768 -stdout /data/aoxj/resin/log/stdout.log -stderr /data/aoxj/resin/log/stderr.log [[email protected] ~]# jps -l 28729 sun.tools.jps.Jps 23789 com.asiainfo.aimc.bossbi.BossMain 23651 com.caucho.server.resin.Resin [[email protected] ~]# jps -v 23789 BossMain 28802 Jps -Denv.class.path=/data/aoxj/bossbi/twsecurity/java/trustwork140.jar:/data/aoxj/bossbi/twsecurity/java/:/data/aoxj/bossbi/twsecurity/java/twcmcc.jar:/data/aoxj/jdk15/lib/rt.jar:/data/aoxj/jd k15/lib/tools.jar -Dapplication.home=/data/aoxj/jdk15 -Xms8m 23651 Resin -Xss1m -Dresin.home=/data/aoxj/resin -Dserver.root=/data/aoxj/resin -Djava.util.logging.manager=com.caucho.log.LogManagerImpl -Djavax.management.builder.initial=com.caucho.jmx.MBeanServerBuilderImpl 当然也可以组合使用,如: jps -ml 或者jps -mlv
时间: 2024-10-14 20:35:47