This Is A FineDay

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            93 隨筆 :: 0 文章 :: 69 評(píng)論 :: 0 Trackbacks
          JProfiler.v4.2.2+注冊(cè)機(jī)
          2006年12月16日 星期六 21:53

          JProfiler是一個(gè)全功能的Java剖析工具(profiler),專用於分析J2SE和J2EE應(yīng)用程式。它把CPU、線程和記憶體的剖析組合在一個(gè)強(qiáng)大的應(yīng)用中。JProfiler可提供許多IDE整合和應(yīng)用服務(wù)器整合功能。JProfiler直覺(jué)式的GUI讓你可以找到性能瓶頸、抓住內(nèi)存泄漏(memory?leaks)、并解決多線程的問(wèn)題。它讓你得以對(duì)heap?walker作資源回收器的root?analysis,可以輕易找出內(nèi)存泄漏;heap快照(snapshot)模式讓未被引用(reference)的對(duì)象,?稍微被引用的對(duì)象、或在終結(jié)(finalization)序列的對(duì)象都會(huì)被移除;整合精靈以便剖析瀏覽器的Java外掛功能。

          下載地址:
          http://download.ej-technologies.com/jprofiler/jprofiler_windows_4_2_2.exe
          解密過(guò)程:
          將EJ[1].Technologies.JProfiler.v4.2.2.Incl.Keymaker-AGAiN壓縮包中的jkgone.jar解壓到
          根目錄或其它目錄下運(yùn)行如下命令.
          java?-jar?jkgone.jar

          附其它版本的注冊(cè)碼
          http://download.ej-technologies.com/jprofiler/jprofiler_windows_3_3_1.exe
          JProfiler?4.0
          Name?and?Company:?anything?s/n:?A-G666#76114F-1olm9mv1i5uuly#0126

          JProfiler?3.3.1
          s/n:?A-XiV7#20128F-1nf9r2z1qepp2e#7120

          EJ?Technologies?JProfiler?2.2.1?
          S/N:?A-DWP#OWNZ#YOU-212hyr?

          JProfiler?3.3
          S/N:?A-XiV6#62267F-1tfbcghardqqd#16312<br>

          JProfiler?3.2.0
          S/N:?A-GAiN#91584F-vd0mmz13mkf00#181013<br>or<br>A-GAiN#22031F-1giul8u16x7p65#121218<br>or<br>A-GAiN#98900F-1j62dw18rpusn#111117<br>

          JProfiler?3.2
          S/N:?A-GAiN#70503F-l7qte9gtq77c#81111<br>or<br>A-GAiN#19132F-y2fnayai9yu8#141420<br>


          目前最新版為4.3,大家可以申請(qǐng)?jiān)囉?0天,如果大家還需要其它版本的注冊(cè)碼回復(fù)

          官方試用版下載:
          http://www.ej-technologies.com/download/jprofiler/trial.php?.

          注冊(cè)文件下載地址:

          http://lyh007.gbaopan.com/files/245c5ad31b314e4abd6bb1c54e86ebbe.gbp

          由于G寶盤(pán)只能傳小于10MB文件,所以到主頁(yè)公布的郵箱進(jìn)行全部下載.


          ?

          來(lái)自:http://www.anymobile.org
          ?

          1、摘要..........................................................................1
          2、改善服務(wù)器的性能...........................................................1
          3、分析器原理...................................................................2
          4、JProfiler 簡(jiǎn)介...............................................................2
          5、JProfiler 特征...............................................................3
          6、本地監(jiān)控.....................................................................4
          7、遠(yuǎn)程監(jiān)控.....................................................................7
          8、參考..........................................................................9

          ?

          ?

          1 摘要

          ?

          ???? ? 改善 Java 服務(wù)器的性能需要模擬負(fù)載下的服務(wù)器。創(chuàng)建一個(gè)模擬環(huán)境、搜集數(shù)據(jù)并且分析結(jié)果可能是對(duì)許多開(kāi)發(fā)人員的挑戰(zhàn)。這篇文章介紹了使用 JProfiler 跟蹤分析 Java 服務(wù)器的性能。

          ?

          簡(jiǎn)單的性能問(wèn)題很容易分離并解決,然而,大的性能問(wèn)題,如內(nèi)存溢出或者系統(tǒng)的罷工,通常在系統(tǒng)處于高負(fù)載情況下發(fā)生,就不能這么簡(jiǎn)單的處理了。這些問(wèn)題需要一個(gè)獨(dú)立的測(cè)試環(huán)境、一個(gè)模擬的負(fù)載,并且需要仔細(xì)地分析和跟蹤。

          ?

          在這篇文章中,我使用比較通用的工具( JProfiler JBuilder )和設(shè)備創(chuàng)建了一個(gè)性能監(jiān)控分析環(huán)境,跟蹤本地和遠(yuǎn)程的服務(wù)器程序,專注于三個(gè)性能問(wèn)題:內(nèi)存、垃圾回收和多線程運(yùn)行狀況,從而很好的監(jiān)視 JVM 運(yùn)行情況及其性能。

          2 、改善服務(wù)器的性能

          ?

          服務(wù)器的性能改善是依賴于數(shù)據(jù)的。沒(méi)有可靠的數(shù)據(jù)基礎(chǔ)而更改應(yīng)用或環(huán)境會(huì)導(dǎo)致更差的結(jié)果。分析器提供有用的 Java 服務(wù)器應(yīng)用信息,但由于從單用戶負(fù)載下的數(shù)據(jù)與多用戶負(fù)載下得到的數(shù)據(jù)是完全不同的,這導(dǎo)致分析器的數(shù)據(jù)并不精確。在開(kāi)發(fā)階段使用分析器來(lái)優(yōu)化應(yīng)用的性能是一個(gè)好的方式,但在高負(fù)載下的應(yīng)用分析可以取到更好的效果。

          在負(fù)載下分析服務(wù)器應(yīng)用的性能需要一些基本的元素:

          1、? 可控的進(jìn)行應(yīng)用負(fù)載測(cè)試的環(huán)境。

          2、? 可控的人造負(fù)載使得應(yīng)用滿負(fù)荷運(yùn)行。

          3、? 來(lái)自監(jiān)視器、應(yīng)用和負(fù)載測(cè)試工具自身的數(shù)據(jù)搜集。

          4、? 性能改變的跟蹤。

          不要低估最后一個(gè)需求(性能跟蹤)的重要性因?yàn)槿绻荒芨櫺阅苣憔筒荒軐?shí)際的管理項(xiàng)目。性能上 10-20% 的改善對(duì)單用戶環(huán)境來(lái)說(shuō)并沒(méi)有什么不同,但對(duì)支持人員來(lái)說(shuō)就不一樣了。 20% 的改善是非常大的,而且通過(guò)跟蹤性能的改善,你可以提供重要的反饋和持續(xù)跟蹤。

          雖然性能跟蹤很重要,但有時(shí)為了使后續(xù)的測(cè)試更加精確而不得不拋棄先前的測(cè)試結(jié)果。在性能測(cè)試中,改善負(fù)載測(cè)試的精確性可能需要修改模擬環(huán)境,而這些變化是必須的,通過(guò)變化前后的負(fù)載測(cè)試你可以觀察到其中的轉(zhuǎn)變。

          3 分析器原理

          ?

          現(xiàn)在幾乎所有的分析器都是從同一個(gè)起點(diǎn)和約束開(kāi)始的: Java 虛擬機(jī)分析器界面 (JVMPI) ( 參考 "The Java Virtual Machine Profiler Interface") Sun 微系統(tǒng)的 API 允許工具開(kāi)發(fā)商接口或者連接到遵循 JVMPI JVM 上,并且監(jiān)控運(yùn)作的方式以及 JVM 運(yùn)行任何 Java 程序時(shí)的關(guān)鍵事件 -- 從單獨(dú)的應(yīng)用程序到 Applet Servlet 和企業(yè) JavaBeans (EJB) 組件。

          ?

          在分析器內(nèi)啟動(dòng)一個(gè)程序意味著生成、捕捉、和觀察大量數(shù)據(jù),所以所有的分析器都包含著不同的方法來(lái)控制數(shù)據(jù)的流動(dòng),在不同的標(biāo)準(zhǔn)以及每一封裝包的基礎(chǔ)上進(jìn)行過(guò)濾。同樣 也可以使用靈活的正規(guī)表達(dá)式類型模式來(lái)完成。

          4 JProfiler 簡(jiǎn)介

          是一個(gè)全功能的 Java 剖析工具( profiler ),專用于分析 J2SE J2EE 應(yīng)用程序。它把 CPU 、執(zhí)行緒和內(nèi)存的剖析組合在一個(gè)強(qiáng)大的 應(yīng)用中。 JProfiler 可提供許多 IDE 整合和應(yīng)用服務(wù)器整合用途。 JProfiler 直覺(jué)式的 GUI 讓你可以找到效能瓶頸、抓出內(nèi)存漏失 (memory?leaks) 、并解決執(zhí)行緒的問(wèn)題。它讓你得以對(duì) heap?walker 作資源回收器的 root?analysis ,可以輕易找出內(nèi)存溢出; heap 快照( snapshot )模式讓未被參照( reference )的對(duì)象、稍微被參照的對(duì)象、或在終結(jié)( finalization )隊(duì)列的對(duì)象 都會(huì)被移除;整合精靈以便剖析瀏覽器的 Java 外掛功能。

          目前最新的版本是 4.1.2 ,幾乎支持所有常用的 IDE Application Server ,可以到其 EJ 官方網(wǎng)站 http://www.ej-technologies.com/ 下載,申請(qǐng)一個(gè)十天的試用注冊(cè)碼。

          5 JProfiler 特征

          5.1 內(nèi)存剖析 Memory profiler

          JProfiler 的內(nèi)存視圖部分可以提供動(dòng)態(tài)的內(nèi)存使用狀況更新視圖和顯示關(guān)于內(nèi)存分配狀況信息的視圖。所有的視圖都有幾個(gè)聚集層并且能夠顯示現(xiàn)有存在的對(duì)象和作為垃圾回收的對(duì)象。

          ?

          • 所有對(duì)象
            顯示類或在狀況統(tǒng)計(jì)和尺碼信息堆上所有對(duì)象的包。你可以標(biāo)記當(dāng)前值并顯示差異值。

            ?

          • 記錄對(duì)象 Record objects
            顯示類或所有已記錄對(duì)象的包。你可以標(biāo)記出當(dāng)前值并且顯示差異值。

            ?

          • 分配訪問(wèn)樹(shù) Allocation call tree
            顯示一棵請(qǐng)求樹(shù)或者方法、類、包或?qū)σ堰x擇類有帶注釋的分配信息的J2EE組件。

            ?

          • 分配熱點(diǎn) Allocation hot spots
            顯示一個(gè)列表,包括方法、類、包或分配已選類的J2EE組件。你可以標(biāo)注當(dāng)前值并且顯示差異值。對(duì)于每個(gè)熱點(diǎn)都可以顯示它的跟蹤記錄樹(shù)。

            ?

          5.2 堆遍歷 Heap walker

          ?

          JProfiler的堆遍歷器(Heap walker)中,你可以對(duì)堆的狀況進(jìn)行快照并且可以通過(guò)選擇步驟下尋找感興趣的對(duì)象。堆遍歷器有五個(gè)視圖:

          ?

          • Classes
            顯示所有類和它們的實(shí)例。

            ?

          • 分配 Allocations
            為所有記錄對(duì)象顯示分配樹(shù)和分配熱點(diǎn)。

            ?

          • 索引 References
            為單個(gè)對(duì)象和顯示到垃圾回收根目錄的路徑提供索引圖的顯示功能。還能提供合并輸入視圖和輸出視圖的功能。

            ?

          • 數(shù)據(jù) Data
            為單個(gè)對(duì)象顯示實(shí)例和類數(shù)據(jù)。

            ?

          • 時(shí)間 Time
            顯示一個(gè)對(duì)已記錄對(duì)象的解決時(shí)間的柱狀圖。

            ?

          5.3 CPU 剖析 CPU profiler

          ?

          JProfiler 提供不同的方法來(lái)記錄訪問(wèn)樹(shù)以優(yōu)化性能和細(xì)節(jié)。線程或者線程組以及線程狀況可以被所有的視圖選擇。所有的視圖都可以聚集到方法、類、包或J2EE組件等不同層上。CPU視圖部分包括:

          ?

          • 訪問(wèn)樹(shù) Call tree
            顯示一個(gè)積累的自頂向下的樹(shù),樹(shù)中包含所有在JVM中已記錄的訪問(wèn)隊(duì)列。JDBC,JMSJNDI服務(wù)請(qǐng)求都被注釋在請(qǐng)求樹(shù)中。請(qǐng)求樹(shù)可以根據(jù)ServletJSP對(duì)URL的不同需要進(jìn)行拆分。

            ?

          • 熱點(diǎn) Hot spots
            顯示消耗時(shí)間最多的方法的列表。對(duì)每個(gè)熱點(diǎn)都能夠顯示回溯樹(shù)。該熱點(diǎn)可以按照方法請(qǐng)求,JDBCJMSJNDI服務(wù)請(qǐng)求以及按照URL請(qǐng)求來(lái)進(jìn)行計(jì)算。

            ?

          • 訪問(wèn)圖 Call graph
            顯示一個(gè)從已選方法、類、包或J2EE組件開(kāi)始的訪問(wèn)隊(duì)列的圖。

            ?

          5.4 線程剖析 Thread profiler

          ?

          對(duì)線程剖析,JProfiler提供以下視圖:

          ?

          • 線程歷史 Thread history
            顯示一個(gè)與線程活動(dòng)和線程狀態(tài)在一起的活動(dòng)時(shí)間表。

            ?

          • 線程監(jiān)控 Thread monitor
            顯示一個(gè)列表,包括所有的活動(dòng)線程以及它們目前的活動(dòng)狀況。

            ?

          • 死鎖探測(cè)圖表 Deadlock Detection
            顯示一個(gè)包含了所有在JVM里的死鎖圖表。

            ?

          • 目前使用的監(jiān)測(cè)器 Current monitor useage
            顯示目前使用的監(jiān)測(cè)器并且包括它們的關(guān)聯(lián)線程。

            ?

          • 歷史檢測(cè)記錄 History usage history
            顯示重大的等待事件和阻塞事件的歷史記錄。

            ?

          • 監(jiān)測(cè)使用狀態(tài) Monitor usage statistics
            顯示分組監(jiān)測(cè),線程和監(jiān)測(cè)類的統(tǒng)計(jì)監(jiān)測(cè)數(shù)據(jù)。

            ?

          5.5 VM 遙感勘測(cè)技術(shù) VM telemetry

          ?

          觀察JVM的內(nèi)部狀態(tài),JProfiler提供了不同的遙感勘測(cè)視圖,如下所示:

          ?

          • Heap
            顯示一個(gè)堆的使用狀況和堆尺寸大小活動(dòng)時(shí)間表。

            ?

          • 記錄的對(duì)象 Recorded objects
            顯示一張關(guān)于活動(dòng)對(duì)象與數(shù)組的圖表的活動(dòng)時(shí)間表。

            ?

          • 垃圾回收 Garbage collector
            顯示一張關(guān)于垃圾回收活動(dòng)的活動(dòng)時(shí)間表。

            ?

          • Classes
            顯示一個(gè)與已裝載類的圖表的活動(dòng)時(shí)間表。

            ?

          • 線程 Threads
            顯示一個(gè)與動(dòng)態(tài)線程圖表的活動(dòng)時(shí)間表。

            ?

          6 本地監(jiān)控

          系統(tǒng)環(huán)境 Windows OS ;軟件 JBuilderX/2005 JProfiler 4.1.2

          1 、安裝 JBuilderX JProfiler 4.1.2

          2 、運(yùn)行 JProfiler Session-> IDE integration tab, IDE 選擇Borland JBuilder7 to 2005,點(diǎn)擊Integrate按鈕,選擇JBuilder的安裝目錄,確認(rèn),會(huì)看到已經(jīng)將JProfilerOpenTool的形式,成功整合到JBuilder中,見(jiàn)下圖。

          ?

          ?

          ?


          3
          、運(yùn)行 JBuilder ,打開(kāi) Run->Configurations ,選擇或新建一個(gè) Runtime ,在 Optimize 選項(xiàng)中就可以看到 JProfiler ,可以選擇每次運(yùn)行程序新建一個(gè) JProfiler 窗口的提示設(shè)置。

          4 、點(diǎn)擊 Optimize Project 按鈕,運(yùn)行程序。




          5
          、彈出如下的 JProfiler 窗口,確認(rèn)相關(guān)的信息即可。




          6
          、至此,就可以監(jiān)控本地服務(wù)器的各個(gè)方面的性能了。







          7 遠(yuǎn)程監(jiān)控

          服務(wù)器程序一般運(yùn)行在遠(yuǎn)程的服務(wù)器設(shè)備上,有時(shí)候我們還需要遠(yuǎn)程監(jiān)控商用的服務(wù)器資源。

          服務(wù)器操作系統(tǒng) Linux OS ,安裝步驟如下:
          1、./jprofiler_linux_4_1_2.sh,出現(xiàn)如下提示:
          testing JVM in /usr/jdk1.4 ...
          Starting Installer ...
          注:對(duì)于沒(méi)有安裝X Server的機(jī)器,需要執(zhí)行./jprofiler_linux_4_1_2.sh -q,否則會(huì)提示,
          testing JVM in /usr/jdk1.4 ...
          Starting Installer ...
          This installer needs access to an X Server.
          If this is not possible, you can run the installer in unattended mode
          by passing the argument -q to the installer.
          2、安裝完畢后,會(huì)在/opt目錄下,找到j(luò)profiler的安裝目錄,/opt/jprofiler4。

          本地操作系統(tǒng)
          WindowXP ,相關(guān)的配置如下:

          1 、本地安裝 JProfiler Linux 服務(wù)器上也安裝 JProfiler (只有本地 / 監(jiān)控者的需要輸入序列號(hào))。

          2 、打開(kāi)本地的 JProfiler session->Integration wizards-> New Remote integration

          3 、選擇 on a remote computer platform 選擇 linux x86/AMD64 ,點(diǎn)擊 next

          4 、輸入遠(yuǎn)程 ip 地址,點(diǎn)擊 next

          5 、輸入遠(yuǎn)程 JProfiler 的安裝目錄,默認(rèn)都安裝在 /opt/jprofiler4 下,一路NEXT

          6 、出現(xiàn)下面提示框,按照要求配置下服務(wù)器的設(shè)置,界面如下:


          Java
          執(zhí)行語(yǔ)句中加入下列運(yùn)行參數(shù)

          ?-Xint -Xrunjprofiler:port=8849 -Xbootclasspath/a:/opt/jprofiler4/bin/agent.jar

          /etc/profile 中加入 export LD_LIBRARY_PATH=/opt/jprofiler4/bin/linux-x86 ,退出、重新登陸。

          7 、好了,全部配置完畢,先運(yùn)行遠(yuǎn)程服務(wù)器程序,再打開(kāi)本地的 JProfiler 程序,握手成功后,遠(yuǎn)程程序正常運(yùn)行了。

          服務(wù)器信息如下:

          [root@ns 55556]# tail -f nohup.out

          JProfiler> Protocol version 21

          JProfiler> Using JVMPI

          JProfiler> 32-bit library

          JProfiler> Listening on port: 8849.

          JProfiler> Native library initialized

          JProfiler> Waiting for a connection from the JProfiler GUI ...

          // 以上為本地 JProfiler 連上前的系統(tǒng)提示

          JProfiler> Using dynamic instrumentation

          JProfiler> Time measurement: elapsed time

          JProfiler> CPU profiling enabled

          JProfiler> Starting org/anymobile/server/cmwap/CmwapServer ...

          2005/12/15 17:05:46 [ INFO] - Starting Cmwap Stand Server ...
          2005/12/15 17:05:47 [ INFO] - HandleThread runing ......

          8 、補(bǔ)充說(shuō)明及參考

          8.1 補(bǔ)充說(shuō)明

          如果你希望動(dòng)態(tài)保存當(dāng)前 Session 的運(yùn)行數(shù)據(jù)的快照,點(diǎn)擊 JProfiler 的保存按鈕即可;

          可以通過(guò) JProfiler Start Center Open snapshot tab 打開(kāi)保存的 Session

          你也可以右鍵點(diǎn)擊某個(gè)視圖,靜態(tài)保存到 HTML 文件,文字描述加視圖圖片;

          有一些視圖的數(shù)據(jù)只會(huì)運(yùn)行一次,不會(huì)動(dòng)態(tài)的刷新,如內(nèi)存視圖中的分配訪問(wèn)樹(shù)等視圖;

          WinXP JProfiler 似乎不支持中文, 2K 下支持的,上面有一些圖片是在 2K 系統(tǒng)上截取的;

          另外, JProfiler 還可以監(jiān)控某個(gè) Application Server Applet ,功能非常強(qiáng)大,可以參考軟件自帶的 Help

          8.2 參考

          JProfiler Tutorials??????? ????? http://www.ej-technologies.com/products/jprofiler/tutorials.html

          What's new in JProfiler???? http://www.ej-technologies.com/products/jprofiler/whatsnew41.html

          JProfiler help??????????????????????? http://resources.ej-technologies.com/jprofiler/help/doc/

          Java Virtual Machine Profiler Interface? http://java.sun.com/j2se/1.3/docs/guide/jvmpi/index.html

          posted on 2007-05-07 10:57 Peter Pan 閱讀(7605) 評(píng)論(4)  編輯  收藏 所屬分類: J2EE

          評(píng)論

          # re: JProfiler 2007-06-21 12:01 vinson
          EJ[1].Technologies.JProfiler.v4.2.2.Incl.Keymaker-AGAiN
          哪有啊  回復(fù)  更多評(píng)論
            

          # re: JProfiler 2008-02-24 10:13 楊俊華
          有5.1.2版本的注冊(cè)嗎  回復(fù)  更多評(píng)論
            

          # re: JProfiler 2008-07-21 12:01 Bruce Luo
          寫(xiě)的非常好呀!  回復(fù)  更多評(píng)論
            

          # re: JProfiler 2013-12-03 11:24 TestCoder
          有8.0.2的注冊(cè)碼么?求共享哇,謝謝  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 方山县| 临泉县| 特克斯县| 灵璧县| 阿坝| 东宁县| 阳朔县| 上犹县| 吉安县| 保定市| 麟游县| 佛山市| 永嘉县| 藁城市| 红河县| 尤溪县| 凉山| 闽清县| 合阳县| 新昌县| 涟源市| 喀喇沁旗| 万盛区| 安多县| 建宁县| 北辰区| 探索| 迭部县| 崇文区| 新和县| 合江县| 林口县| 齐齐哈尔市| 大姚县| 荔浦县| 临澧县| 长汀县| 龙岩市| 兰坪| 江华| 高尔夫|