JMX-Java Management Extensions

FrankYou發表於2018-08-24

JMX全稱Java Management Extensions, 為Java應用提供管理擴充套件功能。在Java 5的時候引入

概念

NameDescription
MBean 全稱為Managed Bean, 你可以實現一個MBean來JMX提供管理內容
MBean Server(也叫JMX Agent) 提供集中註冊管理MBean功能,允許遠端通過他代理操作MBean
JMX Connectors 通過實現不同的通訊協議,來允許遠端訪問
Jconsole 一款JMX圖形客戶端,執行使用者訪問本地或者遠端的JMX,預設包含在Java SDK工具中

Referering Java Opts

啟動Java可以賦予JVM Machine一些引數,例如設定執行記憶體堆疊的大小。此處列舉一些有關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

例如,你需要啟動一個常駐後臺的springboot程式(比如app.jar),如何開啟一個支援遠端訪問的JMX,可以嘗試下面的命令

java -jar app.jar -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10080 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

對於關於JMX相關的引數你配置這些就夠了,就可以使用Jconsole連線,

 
 
JDK自帶的監控工具有:
1、jconsole
2、jvisualvm
 

相關文章