利用VisualVM排除應用性能故障

若是還沒有據說過VisualVm,能夠去看看調優你的JavaJ2EE應用性能html

VisualVM是監視您Java/J2EE應用程序性能最好的免費工具之一。若是您嘗試使用MyEclipse的VisualVM,你將不得不從30美圓的基本許可證升級!可是,若是按照下文所述的步驟,將解釋如何免費實現該目的。java

沒有多少人用它,但它確定對你更深刻的瞭解您的應用(程序)和定位問題域有所幫助。咱們的目標是肯定應用的內存異常並查明緣由。apache

在本文章中,將討論有關VisualVM在Eclipse的配置以及如何監視應用。將啓動一個Web應用並運行visualVM監測該應用。app

1.VisualVM是什麼工具

Java管理擴展(JMX)已經自JDK 5.0起成爲Java的有機組成部分。JMX使得開發者可獲取JVM的全部相關信息。VisualVM信息是一個可視化工具,與一些JDK的命令行工具相集成,提供強大的分析能力。VisualVM使用JMX和爲您提供有關JVM內存、CPU使用率、垃圾回收的詳細信息;也能夠專爲本地JVM的中對象對 CPU和內存的使用提供建議。性能

更多信息詳見VisualVM.net

2.安裝VisualVM命令行

Visualvm與JDK安裝包捆綁(自JDK1.6 update7始)。另外,您能夠訪問https://visualvm.dev.java.net/download.html下載VisualVM。orm

安裝完畢,進入<安裝目錄>/bin並點擊visualvm.exe,將啓動VisualVM。htm

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監視的應用(程序)信息。

[原文連接:]http://www.skill-guru.com/blog/2010/11/11/troubleshooting-application-performance-with-visualvm/

相關文章
相關標籤/搜索