目錄
一、什么是JProfiler?
二、JProfiler?功能結(jié)構(gòu)?
1、分析代理
2、記錄數(shù)據(jù)
3、快照
三、安裝?
一、什么是JProfiler?
JProfiler是一個專業(yè)的工具,用于分析運行中的JVM內(nèi)部發(fā)生的事情。當(dāng)您的生產(chǎn)系統(tǒng)出現(xiàn)問題時,您可以在開發(fā)、質(zhì)量保證和消防任務(wù)中使用它。
JProfiler主要處理四個主題:
- 方法調(diào)用
這通常被稱為“CPU評測”。方法調(diào)用可以通過不同的方式進行測量和可視化。方法調(diào)用的分析可以幫助您了解應(yīng)用程序正在做什么,并找到提高其性能的方法。
- 分配
分析堆上對象的分配、引用鏈和垃圾收集屬于“內(nèi)存分析”類別。此功能使您能夠修復(fù)內(nèi)存泄漏,通常使用較少的內(nèi)存,并分配較少的臨時對象。
- 線程和鎖
線程可以持有鎖,例如通過對對象進行同步。當(dāng)多個線程協(xié)作時,可能會發(fā)生死鎖,JProfiler可以為您可視化它們。此外,鎖可以被爭用,這意味著線程必須等待才能獲取它們。JProfiler提供了對線程及其各種鎖定情況的深入了解。
- 更高級別的子系統(tǒng)
許多性能問題發(fā)生在更高的語義級別上。例如,對于JDBC調(diào)用,您可能想要找出哪條SQL語句是最慢的。對于這樣的子系統(tǒng),JProfiler提供了將特定有效載荷附加到調(diào)用樹的“探測器”。
JProfiler的UI是作為桌面應(yīng)用程序提供的。您可以在不使用UI的情況下以交互方式評測實時JVM或自動評測。評測數(shù)據(jù)持久化在快照中,這些快照可以使用JProfiler UI打開。此外,命令行工具和構(gòu)建工具集成可幫助您自動化分析會話。
二、JProfiler?功能結(jié)構(gòu)?
下面給出了所有重要交互的全貌,這些交互涉及概要應(yīng)用程序、JProfiler UI和所有命令行實用程序。
1、分析代理
“JVM工具接口”(JVMTI)是一個本機接口,探查器使用它來訪問信息并添加用于插入自己的檢測的掛鉤。這意味著分析代理的至少一部分必須實現(xiàn)為本機代碼,因此JVM分析程序不是獨立于平臺的。JProfiler支持網(wǎng)站上列出的一系列平臺。
JVM探查器被實現(xiàn)為在啟動時或稍后某個時候加載的本機庫。要在啟動時加載它,將在命令行中添加VM參數(shù)-agentpath:<path To native library>。您很少需要手動添加這個參數(shù),因為JProfiler會為您添加它,例如在IDE集成、集成向?qū)е?,或者如果它直接啟動JVM。然而,重要的是要知道,這就是啟用概要分析的原因。
如果JVM成功地加載了本機庫,它會調(diào)用庫中的一個特殊函數(shù),為評測代理提供初始化自己的機會。然后,JProfiler將打印兩條以JProfiler>為前綴的診斷消息,這樣您就知道評測是活動的。最重要的是,如果您傳遞-agentpath VM參數(shù),則分析代理要么成功加載,要么JVM沒有啟動。
加載后,概要分析代理會要求JVMTI收到各種事件的通知,例如線程創(chuàng)建或類加載。其中一些事件直接傳遞分析數(shù)據(jù)。使用類加載事件,分析代理在加載類時插入類,并插入自己的字節(jié)碼來執(zhí)行測量。
JProfiler可以通過使用JProfilerUI或使用bin/jpenable命令行工具。在這種情況下,可能需要重新轉(zhuǎn)換大量已經(jīng)加載的類,以便應(yīng)用所需的工具。
2、記錄數(shù)據(jù)
JProfiler代理只收集分析數(shù)據(jù)。JProfiler UI是單獨啟動的,并通過套接字連接到分析代理。這意味著,無論評測JVM是在本地機器上還是在遠程機器上運行,這實際上都無關(guān)緊要——評測代理和JProfiler UI之間的通信機制始終相同。
從JProfiler UI,您可以指示代理記錄數(shù)據(jù),在UI中顯示分析數(shù)據(jù),并將快照保存到磁盤。作為UI的替代方案,可以通過其MBean來控制概要分析代理。使用此MBean的命令行工具是bin/jpcontroller。
控制評測代理的另一種方式是使用一組預(yù)定義的觸發(fā)器和操作。通過這種方式,分析代理可以在無人參與模式下運行。這在JProfiler中被稱為“離線評測”,對于自動化評測會話非常有用。
3、快照
雖然JProfiler UI可以顯示實時評測數(shù)據(jù),但通常需要保存所有記錄的評測數(shù)據(jù)的快照??煺湛梢允謩颖4嬖贘Profiler UI中,也可以通過觸發(fā)操作自動保存。
快照可以在JProfiler UI中打開和比較。對于自動化處理,命令行工具bin/jpexport和bin/jpcompare可以用于從以前保存的快照中提取數(shù)據(jù)并創(chuàng)建HTML報告。
從運行中的JVM獲取堆快照的一種低開銷方法是使用bin/jpdump命令行工具。它使用JVM的內(nèi)置功能來保存HPROF快照,該快照可以由JProfiler打開,并且不需要加載評測代理。?
三、安裝?
下載:ej-technologies - Java APM, Java Profiler, Java Installer Builder
為Windows和Linux/Unix提供了可執(zhí)行安裝程序,引導(dǎo)您逐步完成安裝。如果檢測到以前的安裝,則會簡化安裝。
?在macOS上,JProfiler使用UI應(yīng)用程序的標準安裝過程:提供了一個DMG存檔,您可以雙擊它安裝在Finder中,然后您可以將JProfileer應(yīng)用程序捆綁包拖動到/applications文件夾。該文件夾在DMG中作為符號鏈接可見。
?在Linux/Unix上,安裝程序在下載后是不可執(zhí)行的,所以在執(zhí)行它們時必須預(yù)先加上sh。如果傳遞參數(shù)-c,安裝程序?qū)?zhí)行命令行安裝。使用參數(shù)-q執(zhí)行Windows和Linux/Unix的完全無人值守安裝。在這種情況下,您可以傳遞額外的參數(shù)-dir<directory>來選擇安裝目錄。
?
?運行安裝程序后,它將保存一個文件.install4j/response.varfile,其中包含所有用戶輸入。通過在命令行上傳遞參數(shù)-varfile<path to response.varfile>,您可以獲取該文件并使用它來自動執(zhí)行無人參與的安裝。
要設(shè)置無人參與安裝的許可信息,請將-Vjprofiler.licenseKey=<license-key>-Vjprofiler.licenseName=<username>和-Vjprofiller.licenseCompany=<companyName>作為命令行參數(shù)(可選)。如果您有浮動許可證,請使用FLOAT:<服務(wù)器名稱或IP地址>而不是許可證密鑰。
對于Windows,歸檔文件也以ZIP文件的形式提供,對于Linux,歸檔文件則以.tar.gz文件的形式。命令
tar xzvf filename.tar.gz
將把.tar.gz檔案提取到一個單獨的頂級目錄中。要啟動JProfiler,請在提取的目錄中執(zhí)行bin/JProfiler。在Linux/Unix上,文件jprofiler.desktop可用于將jprofiler可執(zhí)行文件集成到窗口管理器中。例如,在Ubuntu上,您可以將桌面文件拖動到啟動器側(cè)欄中,以便創(chuàng)建一個永久的啟動器項。
將分析代理分發(fā)到遠程計算機
JProfiler有兩個部分:一方面是桌面UI和操作快照的命令行實用程序,另一方面是評測代理和控制評測JVM的命令行應(yīng)用程序。您從網(wǎng)站下載的安裝程序和檔案包含這兩部分。
但是,對于遠程評測,您只需要在遠程端安裝評測代理。雖然您可以在遠程機器上使用JProfiler分發(fā)版簡單地提取存檔,但您可能希望限制所需文件的數(shù)量,尤其是在自動化部署時。此外,評測代理是可自由重新分發(fā)的,因此您可以將其與應(yīng)用程序一起發(fā)貨,也可以將其安裝在客戶機器上進行故障排除。
要獲得帶有評測代理的最小軟件包,遠程集成向?qū)蚰@示相應(yīng)代理存檔的下載鏈接,以及包含所有受支持平臺的代理存檔文件的下載頁面。在JProfiler GUI中,調(diào)用會話->集成向?qū)?>新建服務(wù)器/遠程集成,選擇“遠程”選項,然后繼續(xù)執(zhí)行遠程安裝目錄步驟。
?特定JProfiler版本的HTML概述頁面的URL為:
https://www.ej-technologies.com/download/jprofiler/agent?version=13.0.7
單個代理存檔的下載URL的格式為:
https://download.ej-technologies.com/jprofiler/jprofiler_agent_<platform>_13_0_7.<extension>
其中platform對應(yīng)于bin目錄中的代理目錄名,擴展名在Windows上為zip,在macOS上為.tgz,在Linux/Unix上為.tar.gz。對于Linux,x86和x64組合在一起,因此對于Linux x64,URL為:
https://download.ej-technologies.com/jprofiler/jprofiler_agent_linux-x86_13_0_7.tar.gz
代理存檔包含所需的本機代理庫以及jpenable,jpdump和jpcontroller可執(zhí)行文件。歸檔文件中的可執(zhí)行文件只需要Java 6作為最低版本,而評測代理可用于Java 5或更高版本。
在遠程計算機上提取代理存檔后,您看到的子目錄如下所述。它們是各自目標平臺上完整JProfiler安裝的子集。
文章來源:http://www.zghlxwxcb.cn/news/detail-626014.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-626014.html
到了這里,關(guān)于JVM分析工具JProfiler介紹及安裝的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!