win7系統(tǒng)下載
當(dāng)前位置: 首頁 > 編程軟件教程 > 詳細(xì)頁面

【JProfiler下載】JProfiler中文版 v11.1.3 最新版

【JProfiler下載】JProfiler中文版 v11.1.3 最新版
  • 軟件類型:編程軟件
  • 軟件語言:簡體中文
  • 授權(quán)方式:免費(fèi)軟件
  • 更新時間:2024-12-06
  • 閱讀次數(shù):
  • 推薦星級:
  • 運(yùn)行環(huán)境:WinXP,Win7,Win10,Win11
軟件介紹
分享到: 0

軟件介紹

JProfiler是一款專門為Java推出的性能分析軟件,它的主要功能是幫助用戶監(jiān)視JVM的運(yùn)行情況和性能,通過對系統(tǒng)內(nèi)存使用情況的監(jiān)控,幫助用戶分析程序中存在的各種問題。JProfiler使用起來很簡單,是大家剖析Java必備的工具,有需要的用戶敬請下載。

軟件介紹

JProfiler軟件特色

使用方便

界面操作友好

對被分析的應(yīng)用影響小

CPU、Thread、Memory分析功能尤其強(qiáng)大

支持對jdbc、noSql、jsp、servlet、socket等進(jìn)行分析

支持多種模式(離線,在線)的分析

JProfiler功能介紹

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

JProfiler安裝步驟

1、雙擊“jprofiler_windows-x64_11_0.exe”開始加載安裝包

安裝步驟1

2、進(jìn)入到安裝界面,默認(rèn)安裝到C盤,選擇第二項(xiàng)可以自定義

安裝步驟2

3、點(diǎn)擊next出現(xiàn)許可協(xié)議,選擇第一項(xiàng)也就是我同意

安裝步驟3

4、選擇軟件安裝目錄,默認(rèn)為“C:\Program Files\jprofiler11”

安裝步驟4

5、繼續(xù)next就會開始jprofiler 11的安裝了

安裝步驟5

6、稍等一會兒完成jprofiler 11的安裝

JProfiler使用教程

JProfiler 設(shè)置

數(shù)據(jù)采集模式

JProfier 提供兩種數(shù)據(jù)采集模式 Sampling 和 Instrumentation。

Sampling - 適合于不要求數(shù)據(jù)完全精確的場景。優(yōu)點(diǎn)是對系統(tǒng)性能的影響較小,缺點(diǎn)是某些特性不支持(如方法級別的統(tǒng)計(jì)信息)。

Instrumentation - 完整功能模式,統(tǒng)計(jì)信息也是精確的。缺點(diǎn)是如果需要分析的類比較多,對應(yīng)用性能影響較大。為了降低影響,往往需要和 Filter 一起使用。

由于我們需要獲取方法級別的統(tǒng)計(jì)信息,這里選擇了 Instrumentation 模式。同時配置了 Filter,讓 agent 只記錄位于 Java 包c(diǎn)om.aliyun.openservices.aliyun.log.producer下的類和類com.aliyun.openservices.log.Client的 CPU 分析數(shù)據(jù)。

應(yīng)用啟動模式

通過為 JProfiler agent 指定不同的參數(shù)可以控制應(yīng)用的啟動模式。

等待模式 - 只有在 Jprofiler GUI 和 agent 建立連接并完成分析配置設(shè)置后,應(yīng)用才會真正啟動。在這種模式下,您能夠獲取應(yīng)用啟動時期的分析數(shù)據(jù)。對應(yīng)的命令為-agentpath:=port=8849。

立即啟動模式 - 應(yīng)用會立即啟動,Jprofiler GUI 會在需要時和 agent 建立連接并設(shè)置分析配置。這種模式相對靈活,但會丟失應(yīng)用啟動初期的分析數(shù)據(jù)。對應(yīng)的命令為-agentpath:=port=8849,nowait。

離線模式 - 通過觸發(fā)器記錄數(shù)據(jù)、保存快照供事后分析。對應(yīng)的命令為-agentpath:=offline,id=xxx,config=/config.xml。

因?yàn)槭窃跍y試環(huán)境,同時對應(yīng)用啟動初期的性能也比較關(guān)注,這里選擇了默認(rèn)的等待模式。

使用 JProfiler 診斷性能

在完成 JProfiler 的設(shè)置后,便可以對 Producer 的性能進(jìn)行診斷。

Overview

在概覽頁我們可以清晰的看到內(nèi)存使用量、垃圾收集活動、類加載數(shù)量、線程個數(shù)和狀態(tài)、CPU 使用率等指標(biāo)隨時間變化的趨勢。

使用教程1

通過此圖,我們可以作出如下基本判斷:

程序在運(yùn)行過程中會產(chǎn)生大量對象,但這些對象生命周期極短,大部分都能被垃圾收集器及時回收,不會造成內(nèi)存無限增長。

加載類的數(shù)量在程序初始時增長較快,隨后保持平穩(wěn),符合預(yù)期。

在程序運(yùn)行過程中,有大量線程處于阻塞狀態(tài),需要重點(diǎn)關(guān)注。

在程序剛啟動時,CPU 使用率較高,需要進(jìn)一步探究其原因。

CPU views

CPU views 下的各個子視圖展示了應(yīng)用中各方法的執(zhí)行次數(shù)、執(zhí)行時間、調(diào)用關(guān)系等信息,能幫我們定位對應(yīng)用性能影響最大的方法。

Call Tree

Call tree 通過樹形圖清晰地展現(xiàn)了方法間的層次調(diào)用關(guān)系。同時,JProfiler 將子方法按照它們的執(zhí)行總時間由大到小排序,這能讓您快速定位關(guān)鍵方法。

使用教程2

對于 Producer 而言,方法SendProducerBatchTask.run()耗時最多,繼續(xù)向下查看會發(fā)現(xiàn)該方法的主要時間消耗在了執(zhí)行方法Client.PutLogs()上。

Hot Spots

如果您的應(yīng)用方法很多,且很多子方法的執(zhí)行時間比較接近,使用 hot spots 視圖往往能助您更快地定位問題。該視圖能根據(jù)方法的單獨(dú)執(zhí)行時間、總執(zhí)行時間、平均執(zhí)行時間、調(diào)用次數(shù)等屬性對它們排序。其中,單獨(dú)執(zhí)行時間等于該方法的總執(zhí)行時間減去所有子方法的總執(zhí)行時間。

使用教程3

在該視圖下,可以看到Client.PutLogs(),LogGroup.toByteArray(),SamplePerformance$1.run()是單獨(dú)執(zhí)行時間耗時最多的三個方法。

Call Graph

找到了關(guān)鍵方法后,call graph 視圖能為您呈現(xiàn)與該方法直接關(guān)聯(lián)的所有方法。這有助于我們對癥下藥,制定合適的性能優(yōu)化策略。

使用教程4

這里,我們觀察到方法Client.PutLogs()執(zhí)行的主要時間花費(fèi)在了對象序列化上,因此性能優(yōu)化的關(guān)鍵是提供執(zhí)行效率更高的序列化方法。

Live memory

Live memory 下的各個子視圖能讓您掌握內(nèi)存的具體分配和使用情況,助您判斷是否存在內(nèi)存泄漏問題。

All Objects

All Objects 視圖展示了當(dāng)前堆中各種對象的數(shù)量和總大小。由圖可知,程序在運(yùn)行過程中構(gòu)造出了大量 LogContent 對象。

使用教程5

Allocation Call Tree

Allocation Call Tree 以樹形圖的形式展示了各方法分配的內(nèi)存大小。可以看到,SamplePerformance$1.run()和SendProducerBatchTask.run()是內(nèi)存分配大戶。

使用教程6

Allocation Hot Spots

如果方法比較多,您還可以通過 Allocation Hot Spots 視圖快速找出分配對象最多的方法。

使用教程7

Thread History

線程歷史記錄視圖直觀地展示了各線程在不同時間點(diǎn)的狀態(tài)。

使用教程8

不同線程執(zhí)行的任務(wù)不同,所展現(xiàn)的狀態(tài)特征也不同。

線程pool-1-thread-會循環(huán)調(diào)用producer.send()方法異步發(fā)送數(shù)據(jù),它們在程序剛啟動時一直處于運(yùn)行狀態(tài),但隨后在大部分時間里處于阻塞狀態(tài)。這是因?yàn)?producer 發(fā)送數(shù)據(jù)的速率低于數(shù)據(jù)的產(chǎn)生速率,且單個 producer 實(shí)例能緩存的數(shù)據(jù)大小有限。在程序運(yùn)行初始,producer 有足夠空間緩存待發(fā)送數(shù)據(jù),所以pool-1-thread-一直處于運(yùn)行狀態(tài),這也就解釋了為何程序在剛啟動時 CPU 使用率較高。隨著時間的推移,producer 的緩存被逐漸耗盡,pool-1-thread-必須等到 producer “釋放”出足夠的空間才有機(jī)會繼續(xù)運(yùn)行,這也是為什么我們會觀察到大量線程處于阻塞狀態(tài)。

aliyun-log-producer-0-mover負(fù)責(zé)將超時 batch 投遞到發(fā)送線程池中。由于發(fā)送速率較快,batch 會因緩存的數(shù)據(jù)達(dá)到了上限被pool-1-thread-直接投遞到發(fā)送線程池中,因此 mover 線程在大部分時間里都處于等待狀態(tài)。

aliyun-log-producer-0-io-thread-作為真正執(zhí)行數(shù)據(jù)發(fā)送任務(wù)的線程有一部分時間花在了網(wǎng)絡(luò) I/O 狀態(tài)。

aliyun-log-producer-0-success-batch-handler用于處理發(fā)送成功的 batch。由于回調(diào)函數(shù)比較簡單,執(zhí)行時間短,它在大部分時間里都處于等待狀態(tài)。

aliyun-log-producer-0-failure-batch-handler用于處理發(fā)送失敗的 batch。由于沒有數(shù)據(jù)發(fā)送失敗,它一直處于等待狀態(tài)。

通過上述分析可知,這些線程的狀態(tài)特征都是符合預(yù)期的。

Overhead Hot Spots Detected

當(dāng)程序運(yùn)行結(jié)束后,JProfiler 會彈出一個對話框展示那些頻繁被調(diào)用,但執(zhí)行時間又很短的方法。在下次診斷時,您可以讓 JProfiler agent 在分析過程中忽略掉這些方法以減輕對應(yīng)用性能的影響。

使用教程9


點(diǎn)下面下載:(推薦使用"迅雷"進(jìn)行下載,系統(tǒng)下載大全QQ交流群:)
主站蜘蛛池模板: 久久综合九色综合欧美狠狠| 婷婷五月六月激情综合色中文字幕| 欧美日韩国产综合视频在线观看 | 亚洲伊人成无码综合网| 色拍自拍亚洲综合图区| 久久狠狠一本精品综合网| 亚洲国产日韩综合久久精品| 久久久久青草线蕉综合超碰| 亚洲欧美日韩综合aⅴ视频| 亚洲国产精品综合久久网络| 欧美久久综合性欧美| 色爱无码AV综合区| 色婷婷久久综合中文久久蜜桃av| 国产综合精品久久亚洲 | 亚洲国产国产综合一区首页 | 欧美伊人久久大香线蕉综合| 国产精品天干天干综合网| 亚洲综合区小说区激情区| 狠狠人妻久久久久久综合蜜桃| 亚洲成a人v欧美综合天堂下载 | 亚洲色偷偷狠狠综合网| 亚洲欧美乱综合图片区小说区| 亚洲综合色区在线观看| 国产综合久久久久| 综合久久给合久久狠狠狠97色| 一本色道久久88—综合亚洲精品| 99久久综合狠狠综合久久止| 亚洲精品第一国产综合境外资源| 久久婷婷五月综合97色| 亚洲精品综合久久| 中文网丁香综合网| 7国产欧美日韩综合天堂中文久久久久| 插插插色欲综合网| 亚洲伊人久久综合影院| 亚洲国产成人久久综合碰| 久久综合久久鬼色| 中文字幕亚洲综合久久菠萝蜜 | 久久综合狠狠综合久久| 自拍 偷拍 另类 综合图片| 国产综合无码一区二区三区| 一本大道加勒比久久综合|