1、簡介java
JConsole是一個基於JMX的GUI工具,用於鏈接正在運行的JVM,它是Java自帶的簡單性能監控工具。下面以對tomcat的監控爲例,帶領你們熟悉JConsole這個工具。緩存
2、配置tomcat
經過JConsole遠程鏈接服務器監控JVM,須要在被監控的服務器上tomcat的啓動文件catalina.sh中加入如下配置:服務器
JAVA_OPTS="-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.182.130 -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" 工具
JMX的相關參數:性能
參數名 | 類型 | 描述 |
-Dcom.sun.management.jmxremote | 布爾 | 是否支持遠程JMX訪問,默認true |
-Dcom.sun.management.jmxremote.port | 數值 | 監聽端口號,方便遠程訪問 |
-Dcom.sun.management.jmxremote.authenticate | 布爾 | 是否須要開啓用戶認證,默認開啓 |
-Dcom.sun.management.jmxremote.ssl | 布爾 | 是否對鏈接開啓SSL加密,默認開啓 |
-Dcom.sun.management.jmxremote.access.file | 路徑 | 對訪問用戶的權限受權的文件的路徑,默認路徑JRE_HOME/lib/management/jmxremote.access |
-Dcom.sun.management.jmxremote. password.file | 路徑 | 設置訪問用戶的用戶名和密碼,默認路徑JRE_HOME/lib/management/ jmxremote.password |
3、鏈接加密
4、模塊介紹spa
概覽線程
一、概要界面,主要顯示堆內存使用狀況、活動線程數、加載類數、CPU使用率四個參數的概要,能夠經過下拉框來定製顯示的時間範圍code
二、假如堆內存的圖像一直在上升而沒有降低的動做發生,則要懷疑是否內存泄露。健壯的項目因爲GC的存在,因此它的上升和降低的幅度應該大抵相同
三、CPU的圖像規律跟堆內存的大體相同
內存
一、圖示爲被監控程序的詳細內存圖
二、點擊右上的執行GC按鈕能夠通知JVM進行垃圾回收,執行的是Full GC,實質是把垃圾回收隊列的優先級提升
三、GC 時間顯示了垃圾回收的時間以及回收數,上面的是Young GC執行的時間和次數,下面的是Full GC執行的時間和次數
四、右下角的圖案,Heap內存區包括:年輕代Eden Space、存活代Survivor Space和老年代Tenured Gen。Non-Heap內存區包括:代碼緩存區Code Cache和持久代Perm Gen;可經過改變下拉框或者直接點擊圖形實現切換。
線程
一、「峯值」表示最大的線程數,這個數值能夠經過更改<tomcat_home>/conf/server.xml下的maxThreads來更改
二、點擊具體的線程以後,咱們能夠看到它的狀態以及方法棧的詳細調用狀況
三、點擊「檢查死鎖」能夠檢測是否有死鎖
類
關注點:類的數量變化
VM概要
一、上面幾欄是關於系統和項目的概要信息
二、最下面一欄的第一項是tomcat設定的JVM參數,若是你想知道你設置的參數有沒有成功啓用,看這裏就對了
MBean
屬性顯示該bean的詳細細節
操做顯示該bean的全部方法,能夠點擊該按鈕觸發方法,但我的不推薦這麼作,應該經過程序的統一入口來觸發