JVM 監控工具——jconsole


【官方文檔】:Using JConsole

1. 簡介

  JConsole是一個內置Java性能分析器,可以從命令行或在GUI shell中運行。您可以輕松地使用JConsole(或者,它更高端的近親” VisualVM)來監控Java應用程序性能和跟蹤Java中的代碼。

  JConsole 工具以 java.lang.management API 為基礎進行構建。JConsole 將連接到運行在同一個工作站或遠程工作站上的應用程序。這些應用程序必須配置為允許訪問

  JConsole 連接到 Java 應用程序之后,會報告該應用程序的相關信息。詳細信息包括內存使用情況、正在運行的線程和已裝入類。該數據將幫助您監控應用程序和 JVM 的行為。該信息有助於了解性能問題、內存使用問題、掛起或死鎖

2. 基本配置

2.1 JVM啟動參數配置 

  -Djava.rmi.server.hostname=127.0.0.1

  配置的主機名信息,jconsole 遠程連接時需要輸入主機名  

  -Dcom.sun.management.jmxremote

  開始 jmxremote 配置

  -Dcom.sun.management.jmxremote.port=8899

  jconsole 連接的端口

  -Dcom.sun.management.jmxremote.authenticate=false

  是否認證信任憑證

  -Dcom.sun.management.jmxremote.ssl=false

  是否啟用SSL

2.2 信任憑證配置

  如果設置了信任憑證校驗,則需要使用指定的用戶及密碼遠程連接。

  配置文件在 jre/lib/management 目錄下:

  

 

2.2.1  jmxremote.access

  

 

   定義遠程連接用戶的操作權限

2.2.2 jmxremote.password

  

 

   定義遠程連接用戶的密碼信息(明文存儲)

3. 本地連接

3.1 啟動 jconsole

  在JDK的 bin 目錄下啟動 jconsole.exe ,界面如下:

  jconsole會顯示本地Java虛擬機上運行的Java程序

  

 

 3.2 Windows下查詢程序的pid

  根據程序監聽的端口號查詢對應的 PID

  netstat  -ano | findStr  9527

  

3.3 連接程序

  界面選擇 pid 為 15160 的程序進行連接,連接成功后如下所示:

  

4. 遠程連接

  遠程連接不知道是環境問題,還是別的原因,死活連不上,最后用 jvisualvm 連接成功。

  中間參考了一下幾篇文章,還算干貨,大家可以參考一下:

  【參考文章】:JConsole遠程連接配置

  【參考文章】:windows下如何正確使用Jconsole遠程連接linux主機上的JVM

  【參考文章】:JVM監測分析JConsole 

5.jvisualvm

  配置基本和 jconsole 一樣;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM