JDK 6 Update 14内置VisualVM 1.1.1
VisualVM 是一个集成了一些JDK的命令行工具的可视化的工具,为您提供强大的分析能力。它捆绑了包括jstat , JConsole , jstack , jmap和jinfo,这些工具都您都可以在标准的JDK里找到。
VisualVM可以让您生成和分析堆数据,跟踪内存泄漏,监测垃圾收集器和内存CPU的性能,以及能够浏览和操作MBeans 。虽然VisualVM运行在JDK6上,但它可以监控创建自JDK1.4以上版本的应用程序 。
如果您的jkd没有更新到最新版本,您可以到以下地址下载:
https://visualvm.dev.java.net/
下面这篇文章用Visualvm比较测试了三个java IDE( NetBeans 6.5.1 (JavaSE only version), Eclipse (for Java Developers) and IntelliJ IDEA (8.1.2) )的性能:
http://java.dzone.com/articles/best-kept-secret-jdk-visualvm
本文的VisualVM介绍也是翻译自该文。
VisualVM同时提供IDE插件,可以在IDE中直接使用VisualVM。
Sun还搞了个博客大赛,鼓励大家写博客介绍VisualVM,前三名都有奖励,最高奖励价值500美元,不过要求博客必须是英文写的。
http://java.sun.com/community/javavisualvm/
如何启用tomcat的JMX,对远程tomcat进行监控,最简单的方式就是在tomcat的启动脚本里加上:
CATALINA_OPTS="-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=$my.jmx.port
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=$my.jmx.host"
$my.jmx.port $my.jmx.host这两个变量请根据具体情况替换。
如果要设置权限,以及更详细的配置,请参看下面这几篇文章:
https://wiki.internet2.edu/confluence/display/CPD/Monitoring+Tomcat+with+JMX
http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html
下图是本站的VisualVM监控截图:

Related Posts
Null Object 模式之我见
Lucene范围查询(RangeQuery)的几个问题
ActiveMQ的一个问题
四个有害的java习惯
一个纯java的H.264播放器--Onavia Video Player
配置了一下memcached