成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JProfiler試用手記

開發 后端
JProfiler是一款Java的性能監控工具。可以查看當前應用的對象、對象引用、內存、CPU使用情況、線程、線程運行情況(阻塞、等待等),同時可以查找應用內存使用得熱點,這里提供有幾篇文章供參考:獲取、介紹,簡單入門,使用JProfiler解決實際問題。這幾篇文章基本介紹了常見東西了,下面說點心得。

所謂“工欲善其事,必先利其器”,好的工具確能起到事半工倍的作用。我用到的最多的就兩個JConsole 和JProfiler 。JConsole監控系統內存變化情況,如果有內存溢出的話,垃圾回收將會呈現鋸齒狀。發現問題以后,使用JProfiler,在小壓力(或無壓力)的情況下監控對象變化,定位內存溢出原因。

JProfiler是一款Java的性能監控工具??梢圆榭串斍皯玫膶ο?、對象引用、內存、CPU使用情況、線程、線程運行情況(阻塞、等待等),同時可以查找應用內存使用得熱點,即:哪個對象占用的內存比較多;或者CPU熱點,即:哪兒方法占用的較大得CPU資源。我使用的是4.3.2版本,以前試用過3**版本,不過那個bug比較多,容易死,4**版本穩定多了。

有了上面那些信息對于系統的調優會有很大幫助。這里提供有幾篇文章供參考:獲取、介紹,簡單入門,使用JProfiler解決實際問題。這幾篇文章基本介紹了常見東西了,下面說點心得。

  1. JProfiler監控是要消耗系統資源的,所以一般情況下不要用于性能測試時候的監控。
  2. 如果要用于相對大壓力情況下,可以有選擇的打開監控項,不用所有都打開。主要有兩個,一個是內存監控,打開的情況下可以查找內存分配熱點。一個是CPU監控,打開的情況下可以查看CPU使用熱點。

 

如圖所示,紅筆標注部分。如果兩個都關閉的話,還是可以跑一定壓力的,同時還可以監控對象數量。

  1. 個人認為最好用的(也是用的最多的)是查詢當前的對象的數量。數量監控很重要,如果你使用了單例,那么你只會看到有一個對象存在,如果多了就說明程序有問題了。同樣,如果應用進行一系列操作,檢查一下該銷毀的對象是否還繼續存在,如果沒有釋放,就得考慮是否存在內存溢出了。
  2. JProfiler還提供了一個比較好的檢查內存溢出得工具。他可以查找某個對象的引用情況,即:當你發現某個該釋放掉的對象沒有釋放,就可以看一下哪個實例在引用它,找到了根即找到了溢出點。
  3. 具體操作如下:在 “Memory Views”界面中右鍵選擇你要監控的對象,選擇第一項“Take Heap Snapshot for Selection”,選擇完成后會進入“Heap Walker”界面,界面下面提供幾個功能,選擇“References”即可 。如圖:
  4. JProfiler提供不同的觀察粒度,提供對類的監控、對包的監控、對J2EE組件的監控,同時過濾器也比較好用,直接定位你關注的包或類即可。
  5. JProfiler的監控可能與應用之間存在一定時間差,所以有些時候需要等待刷新,才能顯示正確系統情況。

Windows客戶端的JProfiler遠程監控Linux上的Tomcat

1.測試環境

服務器:RedHat Linux 3.4.3-9.EL4(內核版本 2.6.9-5.EL),Tomcat5.5.20,Sun JDK 1.5.0_09,JProfiler 4.3.2 for linux(安裝包:jprofiler_linux_4_3_2.sh)

客戶端:Windows XP,JProfiler 4.3.2 for windows(安裝包:jprofiler_windows_4_3_2.exe)

2.JProfiler軟件下載地址 http://www.ej-technologies.com/

3.客戶端 JProfiler 安裝 略

4.服務器端 JProfiler 安裝:

把 jprofiler_linux_4.3.2.sh 上傳到到服務器,假設路徑為 /opt/jprofiler

  1. # cd /opt/jprofiler  
  2. # chmod +x *.sh   
  3. # ./jprofiler_linux_4.3.2.sh -c 

按照提示來安裝,提示都很簡單,不在多說。安裝路徑選擇 /opt/jprofiler4

注意,這里的 -c 意思是用字符方式來安裝,如果機器上沒有 X 則加上該參數.

5.客戶端連接配置

1). 運行 JProfiler 。第一次打開會有向導,忽略它。

2). 選擇 Session->Integration Wizard->New Remote Integratation

3). 選擇 On a remote computer;Platform of remote computer 選擇 Linux x86/AMD 64;Next

4). 輸入服務器 IP ;Next

5). 輸入服務器上的 jprofiler 的安裝路徑,如 /opt/jprofiler4 ;next

6). 選擇服務器的 JDK 環境,這里是:Sun,1.5.0,hotspot;next

7). 輸入端口:這里是默認值 8849;next

8). 選擇啟動模式:這里選第一種 wait for a connection from the jprofiler GUI;next

9). 這里會列出需要在服務器端做的配置:

  1. Integration type: [Generic application]  
  2. Selected JVM: Sun 1.5.0 (hotspot)  
  3. Startup mode: Wait for JProfiler GUI 

(1) Please insert

-agentlib:jprofilerti=port=8849  -Xbootclasspath/a:/opt/jprofiler4/bin/agent.jar

into the start command of your remote application right after the java command.

(2) Please add

/opt/jprofiler4/bin/linux-x86

to the environment variable LD_LIBRARY_PATH.

A remote session named Remote application on 192.168.40.15 will be created that connects to a running instance of the remote application that is started with the modified start command.

6.服務器端的配置

(1)修改系統環境配置文件 /etc/profile ,增加

  1. JPROFILER_HOME=/opt/jprofiler4/bin/linux-x86  
  2. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JPROFILER_HOME 

(2)修改TOMCAT啟動文件catalina.sh,添加-agentlib:jprofilerti=port=8849 -Xbootclasspath/a:/opt/jprofiler4/bin/agent.jar 內容到CATALINA_OPTS中;

“-agentlib:jprofilerti=port=8849 -Xbootclasspath/a:/opt/jprofiler4/bin/agent.jar ” 此內容由客戶端軟件生成

CATALINA_OPTS="$CATALINA_OPTS -Xms128m -Xmx128m $JPDA_OPTS -agentlib:jprofilerti=port=8849   -Xbootclasspath/a:/opt/jprofiler4/bin/agent.jar"

7.Reboot Linux and startup Tomcat using startup.sh;

The log of tomcat which is $CATALINA_HOME/logs/catalina.out will show:

  1. JProfiler> Protocol version 23  
  2. JProfiler> Using JVMTI  
  3. JProfiler> 32-bit library  
  4. JProfiler> Listening on port: 8849.  
  5. JProfiler> Native library initialized  
  6. JProfiler> Waiting for a connection from the   JProfiler GUI  

 

8.啟動客戶端軟件

點擊jprofiler菜單 session>start center>Open Session

Available session configurations中列出了剛才配置的連接,選中使用就OK了!!

9.The log of tomcat which is $CATALINA_HOME/logs/catalina.out will show:

  1. JProfiler> Using dynamic instrumentation  
  2. JProfiler> Time measurement: elapsed time  
  3. JProfiler> CPU profiling enabled  
  4. JProfiler> Hotspot compiler enabled  
  5. JProfiler> Starting org/apache/catalina/startup/Bootstrap  

 

10.當中斷JProfiler連接時

The log of tomcat which is $CATALINA_HOME/logs/catalina.out will show:

  1. JProfiler> Disconnected. Waiting for reconnection.  
  2. JProfiler> Listening on port: 8849. 

原文鏈接:http://hi.baidu.com/xuwanbest/blog/item/605f9f3335f05e46ac4b5f07.html

【編輯推薦】

  1. Java多線程的監控分析工具(VisualVM)
  2. Java幾款性能分析工具的對比
  3. 棧的Java實現和棧的應用舉例
  4. 實戰是硬道理:記Java技術面試
  5. Java設計模式:責任鏈

 

責任編輯:林師授 來源: xuwanbest的博客
相關推薦

2011-05-23 09:11:54

2009-07-28 18:16:27

VS.NET2005

2009-03-05 09:16:00

2013-10-18 14:27:44

Windows 8.1Windows 8試用手記

2009-05-20 09:20:29

Visual Stud試用WPF

2009-06-19 16:49:18

卡巴斯基

2009-05-26 14:43:47

2011-06-03 11:23:46

工作站試用

2009-03-30 08:56:34

新浪瀏覽器Chrome

2009-04-16 08:25:17

2013-05-13 10:16:18

2011-05-24 09:56:50

2009-05-21 07:00:21

OpenSolaris內測安裝

2011-06-20 10:23:16

工作站試用

2013-06-18 01:22:46

CocoStudio工Cocos2d-x

2011-05-16 12:31:35

打印機試用體驗

2011-05-31 15:23:07

傳真機試用手記

2011-08-30 23:07:59

筆記本用戶體驗

2016-03-08 22:41:36

2012-04-18 20:25:33

歐朋瀏覽器HTML5
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧美中文日韩在线v日本 | 国产精品一区二区三级 | 九九热精品在线视频 | 欧美日韩一 | 成人看片在线观看 | 妖精视频一区二区三区 | 欧美日韩一区二区三区在线观看 | 中文字幕亚洲欧美 | 国产一级在线 | 欧美成人h版在线观看 | 欧美日韩中文字幕在线播放 | 在线视频第一页 | 99久久99久久精品国产片果冰 | 一区二区视频在线 | 国产女人精品视频 | 亚洲综合精品 | 欧美一区二区激情三区 | 91欧美精品 | 伊人精品一区二区三区 | 国产在线观看网站 | 久久精品国产99国产精品 | 精品婷婷 | 色眯眯视频在线观看 | 亚洲精品一 | 91久久久精品国产一区二区蜜臀 | 国产精品有限公司 | 久久国产精品久久国产精品 | 最新日韩在线视频 | 伊人欧美视频 | av中文在线播放 | 香蕉超碰 | 久久久精 | 午夜免费精品视频 | 国内精品成人 | 天天干夜夜操 | 国产资源视频 | 视频一区在线观看 | 久久精品亚洲欧美日韩精品中文字幕 | 狠狠av| 欧美日韩视频在线播放 | 久久久久亚洲精品中文字幕 |