因前段時間碰到java.lang.OutOfMemoryError: PermGen space問題,想到檢控TOMCAT及調優問題,從網上搜到這個工具,一開始配置了N久后也未配起來,后來偶然間配置好了,隨把過程寫到此,以便共享
測試:tomcat5+jprofiler_windows_5_1_4 它的注冊碼可到官網上注冊一個,免費試用,當然是有期限的
有的時候Tomcat跑Web應用會慢慢死掉,CPU 100%占用。一般情況下是程序哪里出了問題,慢慢的DEBUG,幾乎翻遍所有的代碼,是不是很累?這里介紹一下JProfiler,比較優秀的性能監控和分析工具。
JProfiler我用的是4.3.3版本,他是收費的,不過google上面很多注冊碼可供使用。
安裝的時候會提示一些比如尋找JVM等過程,這里就不多說了。安裝完JProfiler,運行,出現如下界面:

由于我們是要創建對本地tomcat的監控,選擇an application server,locally or remotely.
在接下來的窗口中,選擇tomcat及版本,

下一步,選擇本地:

下一步,選擇啟動批處理文件

注意,這里的選擇如果你是TOMCAT5的話,如果選擇startup.bat跑不起來,你不防把它配置成tomcat.exe我就是在這里卡住了
下一步,選擇JVM類型:

接著選擇JProfiler的監聽端口:

接著,選擇直接啟動:

下面會有一個很重要的提示,可能很多人在這里都沒有注意而總是配置不好JProfiler:

上面標紅的配置好后,這下面的根本不用配置就可以跑起來了
第一,需要把
-agentlib:jprofilerti=port=8849,nowait,id=103,config=C:\Documents and Settings\stefanie_wu\.jprofiler4\config.xml"
"-Xbootclasspath/a:D:\Program Files\jprofiler4\bin\agent.jar" -Xbootclasspath/a:D:\usr\agent.jar
兩個參數加載啟動項中,
第二,要把D:\Program Files\jprofiler4\bin\windows放在PATH中。
我是使用.bat來啟動tomcat的,所以在startup.bat中加入一段代碼:
set JAVA_OPTS=%JAVA_OPTS% -agentlib:jprofilerti=port=8849,nowait,id=103,config=C:\Documents and Settings\stefanie_wu\.jprofiler4\config.xml -Xbootclasspath/a:D:\Program Files\jprofiler4\bin\agent.jar" -Xbootclasspath/a:D:\usr\agent.jar
但是這樣啟動會有問題,因為其中路徑包含了空格,
所以拷貝comfig.xml和agent.jar到一個新的路徑下面,比如:
set JAVA_OPTS=%JAVA_OPTS% -agentlib:jprofilerti=port=8849,nowait,id=102,config=D:\usr\config.xml -Xbootclasspath/a:D:\usr\agent.jar
這里的jprofilerti=port=8849就是剛才設置的jprofiler監控端口。
設置完這些,通過startup.bat啟動tomcat,然后

點OK
