1.楔子
jprofiler9.2是一款非常好用且功能強大的跨平臺java必能分析工具,使用它可以有效地對JAVA程式的CPU、記憶體使用情況進行監控行裝,同時還可以對JAVA程式的效能瓶頸進行分析。
主要功能
本地會話實時分析模式
遠端會話實時分析模式
離線分析模式
快照比較
檢視HPROF快照
JDBC、JPA和NOSQL的資料庫分析
極好的支援JAVA企業版(JDBC,JPA/Hibernate,JMS和JNDI呼叫)
更高級別的分析資料(JDBC,JPA/Hibernate,JSP/Servlets,JMS,Web服務和JNDI,RMI呼叫,檔案,套接字和程序的高階資訊)
記憶體洩漏分析
強大的CPU分析器
2.安裝
建議大家安裝JProfiler9.2.1版本,網上的註冊碼大多都可以用,也可以實現遠端監控。在高的網上的版本註冊碼基本不能使用,會報如下的錯誤:
JProfiler> ERROR: Invalid license key. Aborting
安裝教程:jprofiler(Java效能分析工具) 下載安裝
3. 本地使用
最好在IDE中使用,方便快捷。也可直接透過GUI分析本地JVM程序。
IntelliJ IDEA整合JProfiler,入門教程
JProfiler效能分析工具詳解
4.監控遠端linux伺服器的JVM程序
下面兩篇文章簡紹了使用jprofiler怎樣監控遠端linux的tomcat程序。
jProfiler遠端連線Linux監控tomcat執行狀態1
jProfiler遠端連線Linux監控tomcat執行狀態2
那麼如何使用jprofiler監控其它的Java程序?下面將詳細介紹。
第一步:Linux上安裝jprofiler
下載軟體linux服務端jprofiler軟體,要與Windows Jprofiler的版本一致(jprofiler_linux_9_2_1.tar.gz):官網地址:http://www.ej-technologies.com/download/jprofiler/files ,下載好後把tar包上傳的linux伺服器,解壓即可(tar -zxvf jprofiler_linux_9_2_1.tar.gz)。
第二步:遠端主機上運行了的/bin/jpenable代理,開啟一個特定的剖析埠
進入jprofiler的bin目錄,然後執行./jpenable啟動代理(JVMTI分析代理程式)。然後選擇要監控的jar包,選擇監控的埠,之後出現You can now use the JProfiler...代表執行成功,之後就可以使用Windows Jprofiler分析遠端JVM了。
第三步:JProfiler啟動遠端會話分析,監聽一個特定的剖析埠
配置遠端會話分析的IP和Port即可啟動遠端回話分析。
5.原理
1.JVMTI
JDK 本身定義了目標明確並功能完善的JNI( Java Native Interface )與虛擬機器直接進行互動,這些 API 能很方便的進行擴充套件,從而滿足開發者各式的需求.
JVMTI( JVM Tool Interface),是JAVA虛擬機器提供的本地介面,它是實現排程器以及其它Java執行測試與分析工具的基礎.
並不一定在所有的JDK提供商都有實現,但在主流的Oracle JDK、Open JDK上都有其實現.
在開發的過程中一般是使用Agent的方式來使用JVMTI,透過呼叫JVMTI的函式,從JVM中得到當前的執行資訊.
2.JProfiler內部模型
3.JProfiler資料採集的原理
2.JProfiler GUI透過自身Socket的8849埠向位於JVM的JProfiler Agent傳送監控指令.
3.JProfiler Agent收到指令後向JVMTI註冊事件或執行相關的命令.
4.JVMTI根據事件和命令的型別返回相對應的資料( 執行緒狀態、物件例項、CPU負荷、GC狀態資訊等)
5.JProfiler Agent從JVMTI中得到相應資料後將對其進行計算,最終透過Socket傳輸給JProfiler GUI中進行展示.
1.楔子
jprofiler9.2是一款非常好用且功能強大的跨平臺java必能分析工具,使用它可以有效地對JAVA程式的CPU、記憶體使用情況進行監控行裝,同時還可以對JAVA程式的效能瓶頸進行分析。
主要功能
本地會話實時分析模式
遠端會話實時分析模式
離線分析模式
快照比較
檢視HPROF快照
JDBC、JPA和NOSQL的資料庫分析
極好的支援JAVA企業版(JDBC,JPA/Hibernate,JMS和JNDI呼叫)
更高級別的分析資料(JDBC,JPA/Hibernate,JSP/Servlets,JMS,Web服務和JNDI,RMI呼叫,檔案,套接字和程序的高階資訊)
記憶體洩漏分析
強大的CPU分析器
2.安裝
建議大家安裝JProfiler9.2.1版本,網上的註冊碼大多都可以用,也可以實現遠端監控。在高的網上的版本註冊碼基本不能使用,會報如下的錯誤:
JProfiler> ERROR: Invalid license key. Aborting
安裝教程:jprofiler(Java效能分析工具) 下載安裝
3. 本地使用
最好在IDE中使用,方便快捷。也可直接透過GUI分析本地JVM程序。
IntelliJ IDEA整合JProfiler,入門教程
JProfiler效能分析工具詳解
4.監控遠端linux伺服器的JVM程序
下面兩篇文章簡紹了使用jprofiler怎樣監控遠端linux的tomcat程序。
jProfiler遠端連線Linux監控tomcat執行狀態1
jProfiler遠端連線Linux監控tomcat執行狀態2
那麼如何使用jprofiler監控其它的Java程序?下面將詳細介紹。
第一步:Linux上安裝jprofiler
下載軟體linux服務端jprofiler軟體,要與Windows Jprofiler的版本一致(jprofiler_linux_9_2_1.tar.gz):官網地址:http://www.ej-technologies.com/download/jprofiler/files ,下載好後把tar包上傳的linux伺服器,解壓即可(tar -zxvf jprofiler_linux_9_2_1.tar.gz)。
第二步:遠端主機上運行了的/bin/jpenable代理,開啟一個特定的剖析埠
進入jprofiler的bin目錄,然後執行./jpenable啟動代理(JVMTI分析代理程式)。然後選擇要監控的jar包,選擇監控的埠,之後出現You can now use the JProfiler...代表執行成功,之後就可以使用Windows Jprofiler分析遠端JVM了。
第三步:JProfiler啟動遠端會話分析,監聽一個特定的剖析埠
配置遠端會話分析的IP和Port即可啟動遠端回話分析。
5.原理
1.JVMTI
JDK 本身定義了目標明確並功能完善的JNI( Java Native Interface )與虛擬機器直接進行互動,這些 API 能很方便的進行擴充套件,從而滿足開發者各式的需求.
JVMTI( JVM Tool Interface),是JAVA虛擬機器提供的本地介面,它是實現排程器以及其它Java執行測試與分析工具的基礎.
並不一定在所有的JDK提供商都有實現,但在主流的Oracle JDK、Open JDK上都有其實現.
在開發的過程中一般是使用Agent的方式來使用JVMTI,透過呼叫JVMTI的函式,從JVM中得到當前的執行資訊.
2.JProfiler內部模型
3.JProfiler資料採集的原理
2.JProfiler GUI透過自身Socket的8849埠向位於JVM的JProfiler Agent傳送監控指令.
3.JProfiler Agent收到指令後向JVMTI註冊事件或執行相關的命令.
4.JVMTI根據事件和命令的型別返回相對應的資料( 執行緒狀態、物件例項、CPU負荷、GC狀態資訊等)
5.JProfiler Agent從JVMTI中得到相應資料後將對其進行計算,最終透過Socket傳輸給JProfiler GUI中進行展示.