[發(fā)明專利]監(jiān)測(cè)JVM Full GC事件的方法及系統(tǒng)有效
| 申請(qǐng)?zhí)枺?/td> | 201810150708.3 | 申請(qǐng)日: | 2018-02-13 |
| 公開(kāi)(公告)號(hào): | CN108446162B | 公開(kāi)(公告)日: | 2021-11-26 |
| 發(fā)明(設(shè)計(jì))人: | 梅存兵 | 申請(qǐng)(專利權(quán))人: | 南京途牛科技有限公司 |
| 主分類號(hào): | G06F9/455 | 分類號(hào): | G06F9/455 |
| 代理公司: | 南京眾聯(lián)專利代理有限公司 32206 | 代理人: | 葉涓涓 |
| 地址: | 210000 江蘇省南京*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 監(jiān)測(cè) jvm full gc 事件 方法 系統(tǒng) | ||
監(jiān)測(cè)JVM Full GC事件的方法及系統(tǒng),方法包括:采集JVM的日志,針對(duì)日志分析FGC發(fā)生的情況,當(dāng)問(wèn)題發(fā)生時(shí),及時(shí)捕捉并在事前進(jìn)行預(yù)警。系統(tǒng)包括:JVM日志采集模塊、FGC分析模塊、FGC預(yù)警模塊。本發(fā)明通過(guò)對(duì)JVM Full GC事件進(jìn)行了測(cè)量分析,評(píng)估了FGC導(dǎo)致JVM卡頓的可能性,當(dāng)JVM穩(wěn)定運(yùn)行的可能性低于預(yù)期即卡頓的可能性超出可接受范圍時(shí),通過(guò)im、監(jiān)控告警系統(tǒng)等渠道發(fā)送預(yù)警信息。由于變復(fù)盤時(shí)的故障原因分析為事前、事中的風(fēng)險(xiǎn)預(yù)警,本發(fā)明顯著提升研發(fā)應(yīng)對(duì)系統(tǒng)故障的效率和能力;由于具備風(fēng)險(xiǎn)預(yù)警,本發(fā)明降低了系統(tǒng)出故障的可能性,提升了系統(tǒng)穩(wěn)定性,減少了損失,并進(jìn)一步提升了客戶滿意度。
技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)監(jiān)控技術(shù)領(lǐng)域,涉及監(jiān)控JVM Full GC事件的方法及系統(tǒng)。
背景技術(shù)
Java語(yǔ)言正廣泛的應(yīng)用于各種軟件系統(tǒng)中。使用Java語(yǔ)言開(kāi)發(fā)項(xiàng)目時(shí),需要先生成目標(biāo)代碼(字節(jié)碼),再通過(guò)JVM(Java Virtual Machine)在各種設(shè)備上執(zhí)行。JVM在管理內(nèi)存時(shí),會(huì)進(jìn)行垃圾回收(GC),這當(dāng)中的Full GC往往會(huì)直接造成系統(tǒng)卡頓。
目前對(duì)Full GC的分析與優(yōu)化方法很多,通常的處理是在系統(tǒng)卡頓發(fā)生后,在故障復(fù)盤時(shí)通過(guò)故障原因分析發(fā)現(xiàn)Full GC存在問(wèn)題,再分析Full GC的問(wèn)題原因并對(duì)系統(tǒng)進(jìn)行改進(jìn)和優(yōu)化。但當(dāng)問(wèn)題發(fā)生時(shí)不能及時(shí)捕捉到問(wèn)題,更不可能事前進(jìn)行預(yù)警。此外,目前對(duì)Full GC問(wèn)題的描述幾乎都是定性的,比如執(zhí)行時(shí)間過(guò)長(zhǎng)、執(zhí)行頻率過(guò)高,這些定性描述都依賴于故障是否發(fā)生來(lái)確定性質(zhì)。即同樣的執(zhí)行時(shí)間,發(fā)生故障的就是執(zhí)行時(shí)間過(guò)長(zhǎng)、沒(méi)發(fā)生故障的就是執(zhí)行時(shí)間正常。這就缺乏定量描述,非常依賴于個(gè)人經(jīng)驗(yàn),無(wú)法普及和推廣。
發(fā)明內(nèi)容
為解決上述問(wèn)題,本發(fā)明公開(kāi)了監(jiān)測(cè)JVM Full GC事件的方法及系統(tǒng),通過(guò)采集日志,針對(duì)日志分析FGC發(fā)生的情況,當(dāng)問(wèn)題發(fā)生時(shí),能及時(shí)捕捉并在事前進(jìn)行預(yù)警。
為了達(dá)到上述目的,本發(fā)明提供如下技術(shù)方案:
監(jiān)測(cè)JVMFull GC事件的方法,包括如下步驟:
步驟一,采集JVM的日志
實(shí)時(shí)采集JVM運(yùn)行時(shí)的事件,采集信息包括FGC的觸發(fā)時(shí)間(發(fā)生時(shí)刻)和執(zhí)行時(shí)長(zhǎng);
步驟二,分析Full GC事件
定期提取步驟一采集到的信息,分析每一個(gè)實(shí)例的狀況,計(jì)算a、b和P0,并根據(jù)P0的閾值發(fā)送預(yù)警信息;
具體包括如下步驟:
1.從JVM日志中逐個(gè)提取每個(gè)實(shí)例最近一次JVM啟動(dòng)后FGC的發(fā)生情況:
e)如果JVM啟動(dòng)后,F(xiàn)GC次數(shù)不足2,則暫時(shí)不分析該實(shí)例;
f)當(dāng)啟動(dòng)后FGC次數(shù)超過(guò)2次時(shí),進(jìn)行以下處理:
當(dāng)啟動(dòng)時(shí)間不足基本時(shí)間則取啟動(dòng)后的所有FGC事件;
當(dāng)啟動(dòng)時(shí)間超過(guò)基本時(shí)間,但最近基本時(shí)間內(nèi)FGC次數(shù)不足2次,則取最近2次FGC事件;
當(dāng)啟動(dòng)時(shí)間超過(guò)基本時(shí)間,且最近基本時(shí)間內(nèi)FGC次數(shù)不少于2次,則取最近基本時(shí)間內(nèi)的所有FGC事件;
2.通過(guò)以下公式計(jì)算a,b
a=(FGC次數(shù)-1)/(最后一次FGC觸發(fā)時(shí)間–最早一次FGC觸發(fā)時(shí)間);
b=FGC次數(shù)/全部FGC事件的累計(jì)執(zhí)行時(shí)間;
3.計(jì)算P0=b/(a+b)
4.判斷當(dāng)P0閾值,則發(fā)送預(yù)警信息;
步驟三,預(yù)警
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京途牛科技有限公司,未經(jīng)南京途牛科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810150708.3/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種用于監(jiān)測(cè)站的天氣監(jiān)測(cè)系統(tǒng)
- 一種電力設(shè)備安全監(jiān)測(cè)系統(tǒng)及監(jiān)測(cè)方法
- 基于區(qū)塊鏈的環(huán)境監(jiān)測(cè)及數(shù)據(jù)處理方法和裝置
- 監(jiān)測(cè)方法以及裝置
- 醫(yī)院后勤能耗目標(biāo)對(duì)象的監(jiān)測(cè)方法、裝置、計(jì)算機(jī)設(shè)備
- 故障監(jiān)測(cè)裝置和故障監(jiān)測(cè)系統(tǒng)
- 一種社區(qū)養(yǎng)老安全監(jiān)測(cè)系統(tǒng)
- 一種濕地生態(tài)環(huán)境監(jiān)測(cè)系統(tǒng)及方法
- 一種接地網(wǎng)阻抗短路在線監(jiān)測(cè)裝置
- 一種廢氣監(jiān)測(cè)裝置
- 一種軟件性能的檢測(cè)方法及裝置
- 一種國(guó)產(chǎn)環(huán)境下JVM參數(shù)調(diào)整裝置和方法
- 一種實(shí)時(shí)在線的分布式計(jì)算框架的實(shí)現(xiàn)方法
- 一種國(guó)產(chǎn)JVM的測(cè)試評(píng)估方法
- 一種分布式JVM性能分析的方法、裝置及系統(tǒng)
- 一種無(wú)侵入JVM線程堆棧采集的方法及裝置
- 一種JVM參數(shù)的調(diào)整方法及裝置
- 基于軟件隔離的服務(wù)提供方法、設(shè)備及存儲(chǔ)介質(zhì)
- 區(qū)塊鏈JVM應(yīng)用方法、設(shè)備和存儲(chǔ)介質(zhì)
- 一種JVM調(diào)優(yōu)方法及裝置
- 鏈路故障快速檢測(cè)方法及裝置
- 可擷錄高畫質(zhì)Full HD影像的雙筒望遠(yuǎn)鏡
- 一種利用以太網(wǎng)交換機(jī)進(jìn)行Full Mesh性能測(cè)試的方法
- 磁共振圖像重建方法及裝置
- 提升測(cè)評(píng)準(zhǔn)確度的方法、裝置、電子裝置及存儲(chǔ)介質(zhì)
- 一種高幀頻圖像采集與發(fā)送系統(tǒng)及方法
- 異常Full GC問(wèn)題檢測(cè)方法及裝置
- 重組仙臺(tái)病毒的構(gòu)建方法及其應(yīng)用
- 一種動(dòng)態(tài)切換信道的方法及裝置
- 一種系統(tǒng)日志獲取方法、裝置、存儲(chǔ)介質(zhì)及終端
- 在不中斷加速圖形接口處理的情況下進(jìn)入及退出電源管理狀態(tài)
- 負(fù)荷分散方法、負(fù)荷分散程序以及負(fù)荷分散裝置
- 全二維氣相色譜
- 用于進(jìn)行樣品分析的測(cè)試方法、測(cè)試裝置和測(cè)試設(shè)備
- 氣相色譜單元、用相同該單元的可擴(kuò)展氣相色譜系統(tǒng)及相關(guān)方法
- 具有對(duì)不良電接地的補(bǔ)償?shù)臑V波器布置
- 垃圾數(shù)據(jù)回收控制方法及其裝置
- 用于在無(wú)線通信系統(tǒng)中發(fā)送或接收信號(hào)的方法及其裝置
- 垃圾回收GC信息處理方法、Java虛擬機(jī)及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 一種Java垃圾回收監(jiān)控方法及終端





