JMX(Java Management Extensions)

JMX 是 Java 平臺上為 應用程序炸客、設(shè)備疾棵、系統(tǒng)等植入的管理功能框架。

在 Java 程序運行過程中痹仙,對 JVM 和系統(tǒng)的監(jiān)測一直是開發(fā)人員在開發(fā)過程中所需要的是尔,在 Java SE 5 之前,需要使用底層 JVM api 才能監(jiān)測 Java 程序運行過程中 JVM 和系統(tǒng)的一些情況开仰,相關(guān)的開發(fā)效率比較低拟枚。為了解決這個問題,Sun 在 Java SE 5 種發(fā)布了 JMX 用來管理監(jiān)測 Java 程序众弓。JMX 提供大量輕量級的監(jiān)測 JVM 和運行中對象/線程的方式恩溅,從而提升了 Java 的管理監(jiān)測能力。

IT系統(tǒng)管理基本框架

IT管理系統(tǒng)的基本架構(gòu)模式谓娃,通過 agent/subagent 把IT資源 報告以消息的形式匯集并展示脚乡, agent / sub agent 通過協(xié)議協(xié)調(diào)通信。

JMX 基本框架

JMX是管理系統(tǒng)和資源之間的一個接口滨达,定義了管理系統(tǒng)和資源之間的交互標奶稠,javax.management.MBeanServer 實現(xiàn) agent 功能俯艰,以標準的方式給出了管理系統(tǒng)訪問 JMX 框架的接口,javax.mangement.MBeaan實現(xiàn)了 subAgent 的功能锌订,以標準的方式給出了 JMX框架訪問資源的接口蟆炊。JMX 包含兩個核心類庫,java.lang.management 提供了基本 VM 的監(jiān)控功能瀑志,javax.management 提供擴展功能涩搓。

JMX 使用 Java Bean 模式來傳遞信息,Mbean(Managed Bean)是通過依賴注入創(chuàng)建的 JavaBean劈猪,代表了運行在 JVM 上的資源昧甘,可以用于收集性能、資源使用率战得、問題信息等統(tǒng)計信息充边,也可以獲取配置或?qū)傩孕畔ⅰR粋€實現(xiàn)了 javax.management.NotificationEmitter 的 MBean,其內(nèi)部的屬性變化可以通知 MBeanServer, 對MBean 變化感興趣的應用程序也可以注冊監(jiān)聽常侦。開發(fā)人員對所關(guān)心的各項性能指標的監(jiān)控浇冰,通過稱之為 MBean 的 Java 對象來實現(xiàn),可以用一個MBean來監(jiān)控操作系統(tǒng)的基本信息聋亡,JVM 的信息肘习,應用程序的信息等。

標準MBean

標準MBean 通過 普通 JavaBean 的方式公開接口坡倔,向 MbeanServer 提供信息漂佩。資源監(jiān)控者(MBean)會登記在 MBServer 內(nèi)部的一個 Repository中。 JMX 的核心是 MBServer罪塔。

虛擬機監(jiān)測

Java SE 5 之后投蝉,java.lang.management 包里包含了許多MXBean 的接口類 和 LockInfo、MemoryUsage征堪、MonitorInfo 和 ThreadInfo等類瘩缆,這些類提供了 JVM 內(nèi)存分配,GC 情況佃蚜,操作系統(tǒng)庸娱、線程調(diào)度、共享鎖和編譯情況都監(jiān)測機制爽锥。

java.lang.management.ManagementFactory 包含一系列MXBean

ClassLoadingMXBean涌韩, 包含類裝在信息,已經(jīng)裝載/卸載類數(shù)量等

ComplilationMXBean氯夷, 當前編譯器和編譯情況;

GarbageCollectorMXBean臣樱, 提供GC次數(shù)和GC 話費總時間都近似值。

MemoryManagerMXBean, 內(nèi)存管理類和內(nèi)存池的名字信息

MemoryMXBean雇毫,整個 JVM 匯總內(nèi)存的使用情況玄捕,包括堆、非堆占用內(nèi)存情況等

MemoryPoolMXBean 提供大量內(nèi)存信息棚放,包括已使用/最大使用內(nèi)存/設(shè)置最大內(nèi)存等枚粘。

OperatingSystemMXBean 操作系統(tǒng)信息,架構(gòu)名/CPU數(shù)/最近負載

RuntimeMXBean 虛擬機參數(shù)等

ThreadMXBean 線程數(shù)量飘蚯、CPU占用情況等

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末馍迄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子局骤,更是在濱河造成了極大的恐慌攀圈,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件峦甩,死亡現(xiàn)場離奇詭異赘来,居然都是意外死亡,警方通過查閱死者的電腦和手機凯傲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門犬辰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人冰单,你說我怎么就攤上這事幌缝。” “怎么了球凰?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵狮腿,是天一觀的道長腿宰。 經(jīng)常有香客問我呕诉,道長,這世上最難降的妖魔是什么吃度? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任甩挫,我火速辦了婚禮,結(jié)果婚禮上椿每,老公的妹妹穿的比我還像新娘伊者。我一直安慰自己,他們只是感情好间护,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布亦渗。 她就那樣靜靜地躺著,像睡著了一般汁尺。 火紅的嫁衣襯著肌膚如雪法精。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機與錄音搂蜓,去河邊找鬼狼荞。 笑死,一個胖子當著我的面吹牛帮碰,可吹牛的內(nèi)容都是我干的相味。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼殉挽,長吁一口氣:“原來是場噩夢啊……” “哼丰涉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起斯碌,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤昔搂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后输拇,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體摘符,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年策吠,在試婚紗的時候發(fā)現(xiàn)自己被綠了逛裤。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡猴抹,死狀恐怖带族,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蟀给,我是刑警寧澤蝙砌,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站跋理,受9級特大地震影響择克,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜前普,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一肚邢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拭卿,春花似錦骡湖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至惠桃,卻和暖如春浦夷,著一層夾襖步出監(jiān)牢的瞬間娱据,已是汗流浹背臣淤。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人牙咏。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓辛馆,卻偏偏與公主長得像罕扎,于是被迫代替她去往敵國和親咨跌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理辫继,服務發(fā)現(xiàn)怒见,斷路器,智...
    卡卡羅2017閱讀 134,628評論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,773評論 6 342
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法姑宽,類相關(guān)的語法遣耍,內(nèi)部類的語法,繼承相關(guān)的語法炮车,異常的語法舵变,線程的語...
    子非魚_t_閱讀 31,597評論 18 399
  • 現(xiàn)代java開發(fā)指南 第二部分 第二部分:部署、監(jiān)控 & 管理瘦穆,性能分析和基準測試 第一部分纪隙,第二部分 歡迎來到現(xiàn)...
    htoo閱讀 2,087評論 2 28
  • jstack-- 如果java程序崩潰生成core文件,jstack工具可以用來獲得core文件的java sta...
    not_null閱讀 7,959評論 2 62