Java的监控与性能调优工具很多,除了JDK自带的一些工具外,还有像Jprofilerz这样非常好用的商业工具。下面对JDK自带的一些工具做个简要说明,以便需要时找到最合适的工具。
JProfiler在java程序性能调试方面是翘楚,无须赘言,参见:《Jprofiler6的安装与使用说明》。
下面为JDK自带的一些工具:
所有工具都在JDK的bin目录,而在这些工具中,除jvisualvm与jconsole为GUI图形化,其他均为命令行。
jps: 即Java Virtual Machine Process Status Tool的缩写,用于查看JVM进程状态的工具。与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。
jvisualvm:可监控、性能评估、故障诊断主机上所有java进程的cpu,内存,线程使用情况。
jinfo:可以输出并修改运行时的java进程的opts。
jstat:一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。
jstat -class pid 显示加载class的数量,及所占空间等信息。
jstat -compiler pid 显示VM实时编译的数量等信息。
jstat -gc pid 可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。
jstat -gccapacity pid 可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量,PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。其他的可以根据这个类推,OC是old内纯的占用量。
jstat -gcnew pid 查看new对象的信息。
jstat -gcnewcapacity pid 查看new对象的信息及其占用量。
jstat -gcold pid 查看old对象的信息。
jstat -gcoldcapacity pid 查看old对象的信息及其占用量。
jstat -gcpermcapacity pid 查看perm对象的信息及其占用量。
jstat -util pid 统计gc信息统计。
jstat -printcompilation pid 当前VM执行的信息。
除了以上参数外,后面还可以附加两个数字参数,如:jstat -printcompilation 3024 250 6;含义是,每250毫秒打印一次,一共打印6次。另外,其后也还可以加上-h3这样的参数,每三行显一次标题。
jmap:打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。
jconsole:可用图表化的形式显示各种数据,并可通过远程连接监视远程的服务器VM。
jmap:一个可以输出所有内存中对象的工具,甚至可以将VM中的heap,以二进制输出成文本。用法:jmap -histo pid。如果连用SHELL jmap -histo pid>a.log可以将其保存到文本中去,在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。jmap -dump:format=b,file=String 3024可以将3024进程的内存heap输出出来到String文件里。
jinfo: 用处比较简单,就是能输出并修改运行时的java进程的运行参数。用法:jinfo -opt pid 例如查看2788的MaxPerm大小:jinfo -flag MaxPermSize 2788。
jconsole:一个用java写的GUI程序,用来监控VM,并可监控远程的VM,非常易用,而且功能非常强。用法:直接输入jconsole即可。
分享到:
相关推荐
您可以应用这些简单的一步步的性能调优示例来提高您自己的 DB2 UDB 数据库系统上的性能。此外,您也有机会了解如何评估和分析访问计划,并修复“糟糕的查询”。在该文章系列的第 2 部分中,我们将使用更完整的数据库...
软件主要功能如下: (1)监控堆内存的占用情况和创建对象实例的数量,找出内存泄露的原因; (2)监控占用CPU较多的方法; (3)监控线程的阻塞和死亡; (4)监控GC的耗时;
《Java程序性能优化:让你的Java程序更快、更稳定》以Java性能调优为主线,系统地阐述了与Java性能优化相关的知识与技巧。, 《Java程序性能优化:让你的Java程序更快、更稳定》共6章,先后从软件设计、软件编码、JVM...
《Java程序性能优化:让你的Java程序更快、更稳定》共6章,先后从软件设计、软件编码、JVM调优以及程序故障排斥等方面介绍...第6章为工具篇,介绍了获取和监控程序或系统性能指标的各种工具,包括相关的故障排查工具。
《Java程序性能优化:让你的Java程序更快、更稳定》以Java性能调优为主线,系统地阐述了与Java性能优化相关的知识与技巧。 《Java程序性能优化:让你的Java程序更快、更稳定》共6章,先后从软件设计、软件编码、JVM...
《Java程序性能优化:让你的Java程序更快、更稳定》以Java性能调优为主线,系统地阐述了与Java性能优化相关的知识与技巧。 《Java程序性能优化:让你的Java程序更快、更稳定》共6章,先后从软件设计、软件编码、JVM...
本书由曾任职于Oracle/Sun的性能优化专家编写,系统而详细地讲解了性能优化的各个方面,帮助你学习Java虚拟机的基本原理、掌握一些监控Java程序性能的工具,从而快速找到程序中的性能瓶颈,并有效改善程序的运行性能...
性能调优包含多个层次,比如:架构调优、代码调优、JVM调优、数据库调优、操作系统...性能调优基本上按照以下步骤进行:明确优化目标、发现性能瓶颈、性能调优、通过监控及数据统计工具获得数据、确认是否达到目标。
Java VisualVM是一个多线程的监控分析工具,VisualVM 是一款免费的\集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优。功能包括内存分析、快照功能、转储功能...
对J2EE系统进行性能监控及调优的工具. Optimizeit Suite 主要包括三个工具:Profiler:内存、Java 虚拟机、CPU 使用情况跟踪;Thread Debugger:Thread 跟踪工具;Code Coverage:代码运行覆盖跟踪工具,可以提供...
/ 66 3.5.2 大对象直接进入老年代 / 68 3.5.3 长期存活的对象将进入老年代 / 69 3.5.4 动态对象年龄判定 / 71 3.5.5 空间分配担保 / 73 3.6 本章小结 / 75 第4章 虚拟机性能监控与故障处理工具 / 76 4.1 概述...
JProfiler是一款Java的性能监控工具。可以查看当前应用的对象、对象引用、内存、CPU使用情况、线程、线程运行情况(阻塞、等待等),同时可以查找应用内存使用得热点,即:哪个对象占用的内存比较多;或者CPU热点,...
第4章 虚拟机性能监控与故障处理工具 4.1 概述 4.2 JDK的命令行工具 4.2.1 jps:虚拟机进程状况工具 4.2.2 jstat:虚拟机统计信息监视工具 4.2.3 jinfo:Java配置信息工具 4.2.4 jmap:Java内存映像工具 ...
运行时数据区域、垃圾收集、内存分配机制、类加载机制、性能调优监控工具 Java 设计模式 Java 常见的 10 余种设计模式,全 23 种设计模式逐步更新 Java Web 包含 Servlet & JSP、Spring、SpringMVC、Mybatis、...
由国内著名技术社区联合推荐的2012年IT技术力作:《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》,即将上架发行,此书从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等...