[發(fā)明專利]監(jiān)測JVM Full GC事件的方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201810150708.3 | 申請日: | 2018-02-13 |
| 公開(公告)號: | CN108446162B | 公開(公告)日: | 2021-11-26 |
| 發(fā)明(設(shè)計)人: | 梅存兵 | 申請(專利權(quán))人: | 南京途牛科技有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455 |
| 代理公司: | 南京眾聯(lián)專利代理有限公司 32206 | 代理人: | 葉涓涓 |
| 地址: | 210000 江蘇省南京*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 監(jiān)測 jvm full gc 事件 方法 系統(tǒng) | ||
1.監(jiān)測JVM Full GC事件的方法,其特征在于,包括如下步驟:
步驟一,采集JVM的日志
實時采集JVM運行時的事件,采集信息包括FGC的觸發(fā)時間和執(zhí)行時長;
步驟二,分析Full GC事件
定期提取步驟一采集到的信息,分析每一個實例的狀況,計算a、b和P0,并根據(jù)P0的閾值發(fā)送預(yù)警信息;
具體包括如下步驟:
1.從JVM日志中逐個提取每個實例最近一次JVM啟動后FGC的發(fā)生情況:
a)如果JVM啟動后,F(xiàn)GC次數(shù)不足2,則暫時不分析該實例;
b)當(dāng)啟動后FGC次數(shù)超過2次時,進(jìn)行以下處理:
當(dāng)啟動時間不足基本時間則取啟動后的所有FGC事件;
當(dāng)啟動時間超過基本時間,但最近基本時間內(nèi)FGC次數(shù)不足2次,則取最近2次FGC事件;
當(dāng)啟動時間超過基本時間,且最近基本時間內(nèi)FGC次數(shù)不少于2次,則取最近基本時間內(nèi)的所有FGC事件;
2.通過以下公式計算a,b
a=(FGC次數(shù)-1)/(最后一次FGC觸發(fā)時間–最早一次FGC觸發(fā)時間);
b=FGC次數(shù)/全部FGC事件的累計執(zhí)行時間;
3.計算P0=b/(a+b)
所述P0=b/(a+b)算式通過以下過程得來:
在t時刻,將系統(tǒng)不在處理FGC的概率記為P0(t),正在處理FGC的概率記為P1(t);
在從t時刻到t+Δt時刻這一段時間內(nèi),觸發(fā)一次FGC事件的概率是Δt/(1/a),即aΔt;沒有觸發(fā)FGC的概率是1-aΔt;執(zhí)行完一次FGC的概率是Δt/(1/b),即bΔt;沒有一次FGC被執(zhí)行完的概率是1-bΔt;其中,從t時刻到t+Δt時刻這段時間包含t時刻不包含t+Δt時刻,在Δt時間內(nèi)最多只會觸發(fā)一次FGC事件;1/a表示FGC發(fā)生的平均間隔時間,1/b表示FGC的平均執(zhí)行時間,F(xiàn)GC發(fā)生的間隔時間和執(zhí)行時間符合指數(shù)分布;
到了t+Δt時刻,系統(tǒng)不在處理FGC的概率為:P0(t+Δt)=P0(t)(1-aΔt)+P1(t)bΔt;系統(tǒng)正在處理FGC的概率為:P1(t+Δt)=P0(t)aΔt+P1(t)(1-bΔt);對這兩式進(jìn)行整理,同時Δt-0求極限得到如下微分方程組:
在任一時刻JVM都在執(zhí)行FGC或不在執(zhí)行FGC,即P0(0)=1,P1(0)=0,P0(t)+P1(t)=1,解方程得:
當(dāng)系統(tǒng)穩(wěn)定運行即t-∞時,求得系統(tǒng)不在處理FGC的概率是P0=b/(a+b);
4.判斷當(dāng)P0閾值,則發(fā)送預(yù)警信息;
步驟三,預(yù)警
在系統(tǒng)中進(jìn)行預(yù)警,顯示異常狀態(tài)。
2.監(jiān)測JVM Full GC事件的系統(tǒng),其特征在于,包括:JVM日志采集模塊、FGC分析模塊、FGC預(yù)警模塊,所述JVM日志采集模塊用于實時采集JVM運行時的事件,采集信息包括FGC的觸發(fā)時間和執(zhí)行時長;所述FGC分析模塊用于定期提取JVM日志采集模塊采集到的信息,分析每一個實例的狀況,計算a、b和P0,并根據(jù)P0的閾值發(fā)送預(yù)警信息;
所述FGC預(yù)警模塊用于在系統(tǒng)中進(jìn)行預(yù)警,發(fā)出異常狀態(tài)的提示;
所述FGC分析模塊分析和計算的過程如下:
1.從JVM日志中逐個提取每個實例最近一次JVM啟動后FGC的發(fā)生情況:
c)如果JVM啟動后,F(xiàn)GC次數(shù)不足2,則暫時不分析該實例;
d)當(dāng)啟動后FGC次數(shù)超過2次時,進(jìn)行以下處理:
當(dāng)啟動時間不足基本時間則取啟動后的所有FGC事件;
當(dāng)啟動時間超過基本時間,但最近基本時間內(nèi)FGC次數(shù)不足2次,則取最近2次FGC事件;
當(dāng)啟動時間超過基本時間,且最近基本時間內(nèi)FGC次數(shù)不少于2次,則取最近基本時間內(nèi)的所有FGC事件;
2.通過以下公式計算a,b
a=(FGC次數(shù)-1)/(最后一次FGC觸發(fā)時間–最早一次FGC觸發(fā)時間);
b=FGC次數(shù)/全部FGC事件的累計執(zhí)行時間;
3.計算P0=b/(a+b)
判斷當(dāng)P0閾值,則發(fā)送預(yù)警信息;
所述P0=b/(a+b)算式通過以下過程得來:
在t時刻,將系統(tǒng)不在處理FGC的概率記為P0(t),正在處理FGC的概率記為P1(t);
在從t時刻到t+Δt時刻這一段時間內(nèi),觸發(fā)一次FGC事件的概率是Δt/(1/a),即aΔt;沒有觸發(fā)FGC的概率是1-aΔt;執(zhí)行完一次FGC的概率是Δt/(1/b),即bΔt;沒有一次FGC被執(zhí)行完的概率是1-bΔt;其中,從t時刻到t+Δt時刻這段時間包含t時刻不包含t+Δt時刻,在Δt時間內(nèi)最多只會觸發(fā)一次FGC事件;1/a表示FGC發(fā)生的平均間隔時間,1/b表示FGC的平均執(zhí)行時間,F(xiàn)GC發(fā)生的間隔時間和執(zhí)行時間符合指數(shù)分布;
到了t+Δt時刻,系統(tǒng)不在處理FGC的概率為:P0(t+Δt)=P0(t)(1-aΔt)+P1(t)bΔt;系統(tǒng)正在處理FGC的概率為:P1(t+Δt)=P0(t)aΔt+P1(t)(1-bΔt);對這兩式進(jìn)行整理,同時Δt-0求極限得到如下微分方程組:
在任一時刻JVM都在執(zhí)行FGC或不在執(zhí)行FGC,即P0(0)=1,P1(0)=0,P0(t)+P1(t)=1,解方程得:
當(dāng)系統(tǒng)穩(wěn)定運行即t-∞時,求得系統(tǒng)不在處理FGC的概率是P0=b/(a+b)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于南京途牛科技有限公司,未經(jīng)南京途牛科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810150708.3/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種用于監(jiān)測站的天氣監(jiān)測系統(tǒng)
- 一種電力設(shè)備安全監(jiān)測系統(tǒng)及監(jiān)測方法
- 基于區(qū)塊鏈的環(huán)境監(jiān)測及數(shù)據(jù)處理方法和裝置
- 監(jiān)測方法以及裝置
- 醫(yī)院后勤能耗目標(biāo)對象的監(jiān)測方法、裝置、計算機(jī)設(shè)備
- 故障監(jiān)測裝置和故障監(jiān)測系統(tǒng)
- 一種社區(qū)養(yǎng)老安全監(jiān)測系統(tǒng)
- 一種濕地生態(tài)環(huán)境監(jiān)測系統(tǒng)及方法
- 一種接地網(wǎng)阻抗短路在線監(jiān)測裝置
- 一種廢氣監(jiān)測裝置
- 在不中斷加速圖形接口處理的情況下進(jìn)入及退出電源管理狀態(tài)
- 負(fù)荷分散方法、負(fù)荷分散程序以及負(fù)荷分散裝置
- 全二維氣相色譜
- 用于進(jìn)行樣品分析的測試方法、測試裝置和測試設(shè)備
- 氣相色譜單元、用相同該單元的可擴(kuò)展氣相色譜系統(tǒng)及相關(guān)方法
- 具有對不良電接地的補(bǔ)償?shù)臑V波器布置
- 垃圾數(shù)據(jù)回收控制方法及其裝置
- 用于在無線通信系統(tǒng)中發(fā)送或接收信號的方法及其裝置
- 垃圾回收GC信息處理方法、Java虛擬機(jī)及計算機(jī)存儲介質(zhì)
- 一種Java垃圾回收監(jiān)控方法及終端





