>如果尚未听说过VisualVm,可以去看看调优你的Java和J2EE应用性能。
>VisualVM是监视您Java/J2EE应用程序性能最好的免费工具之一。如果您尝试使用MyEclipse的VisualVM,你将不得不从30美元的基本许可证升级!但是,如果按照下文所述的步骤,将解释如何免费实现该目的。
>没有多少人用它,但它肯定对你更深入的了解您的应用(程序)和定位问题域有所帮助。我们的目标是确定应用的内存异常并查明原因。
>在本文章中,将讨论有关VisualVM在Eclipse的配置以及如何监视应用。将启动一个Web应用并运行visualVM监测该应用。
>1.VisualVM是什么
>Java管理扩展(JMX)已经自JDK 5.0起成为Java的有机组成部分。JMX使得开发者可获取JVM的所有相关信息。VisualVM信息是一个可视化工具,与一些JDK的命令行工具相集成,提供强大的分析能力。VisualVM使用JMX和为您提供有关JVM内存、CPU使用率、垃圾回收的详细信息;也可以专为本地JVM的中对象对 CPU和内存的使用提供建议。
>更多信息详见VisualVM。
2.安装VisualVM
word-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">Visualvm与JDK安装包捆绑(自JDK1.6 update7始)。另外,您可以访问https://visualvm.dev.java.net/download.html下载VisualVM。
>安装完毕,进入<安装目录>/bin并点击visualvm.exe,将启动VisualVM。
>3.配置Tomcat
>由于将要分析Web应用,需配置Tomcat来配合VisualVM运行,要加入一些参数以使用Tomcat的JMX。
>在catalina.bat(或catalina.sh)中修改Java_OPTS(以Tomcat 6.0.16为例):
>-Dcom.sun.management.jmxremote =true
>-Dcom.sun.management.jmxremote.port=909
>-Dcom.sun.management.jmxremote.ssl=false
>-Dcom.sun.management.jmxremote.authenticate=false
>JAVA_OPTS如同下述:
>Set JAVA_OPTS=%JAVA_OPTS%-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=“%CATALINA_BASE%\conf\logging.properties” -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
>4.VisualVM连接Tomcat
>启动Tomcat以及VisualVM。在VisualVM中,选择本地(local)或远程(remote)(方式)。如Tomcat与VisualVM在同一台计算机上运行,单击本地(local),并设置参数。
>图:VisualVM连接到Tomcat
>5.在Eclipse中使用VisualVM
>图:Eclipse中的VisualVM
>6.问题识别
>VisualVM启动后,可窥视应用内发生的事情,并识别问题的根源、堆大小和连接池等。
>下图是用Visual VM监视的应用(程序)信息。