[發(fā)明專利]監(jiān)控JVM老生代內(nèi)存溢出的方法、系統(tǒng)、存儲(chǔ)介質(zhì)及設(shè)備在審
| 申請(qǐng)?zhí)枺?/td> | 202310032670.0 | 申請(qǐng)日: | 2023-01-10 |
| 公開(公告)號(hào): | CN116010210A | 公開(公告)日: | 2023-04-25 |
| 發(fā)明(設(shè)計(jì))人: | 李暢 | 申請(qǐng)(專利權(quán))人: | 浪潮通用軟件有限公司 |
| 主分類號(hào): | G06F11/30 | 分類號(hào): | G06F11/30;G06F9/455 |
| 代理公司: | 北京連和連知識(shí)產(chǎn)權(quán)代理有限公司 11278 | 代理人: | 劉小峰;張?jiān)?/td> |
| 地址: | 250101 山東省濟(jì)*** | 國(guó)省代碼: | 山東;37 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 監(jiān)控 jvm 老生 內(nèi)存 溢出 方法 系統(tǒng) 存儲(chǔ) 介質(zhì) 設(shè)備 | ||
本發(fā)明提供了一種監(jiān)控JVM老生代內(nèi)存溢出的方法、系統(tǒng)、存儲(chǔ)介質(zhì)及設(shè)備,方法包括:在JVM運(yùn)行過程中,實(shí)時(shí)記錄其內(nèi)存回收日志中老生代內(nèi)存的內(nèi)存使用量;根據(jù)初始時(shí)期內(nèi)記錄的第一內(nèi)存使用量得到每個(gè)時(shí)刻的內(nèi)存平均使用量,以生成內(nèi)存平均走勢(shì)圖,并將內(nèi)存平均走勢(shì)圖記錄至基線表中;將初始時(shí)期后記錄的第二內(nèi)存使用量與基線表中相同時(shí)刻的內(nèi)存平均使用量進(jìn)行對(duì)比,并判斷當(dāng)前內(nèi)存走勢(shì)偏差量是否大于預(yù)設(shè)偏差量;響應(yīng)于當(dāng)前內(nèi)存走勢(shì)偏差大于預(yù)設(shè)偏差量,推送預(yù)警報(bào)文,并基于預(yù)警報(bào)文排查JVM的運(yùn)行系統(tǒng)是否出現(xiàn)內(nèi)存溢出問題,得到排查結(jié)果。本發(fā)明實(shí)現(xiàn)了提前監(jiān)控,避免了現(xiàn)有技術(shù)中內(nèi)存溢出后才進(jìn)行預(yù)警,使系統(tǒng)卡頓問題暴露給客戶,造成信任缺失。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種監(jiān)控JVM老生代內(nèi)存溢出的方法、系統(tǒng)、存儲(chǔ)介質(zhì)及設(shè)備。
背景技術(shù)
業(yè)界一般采用兩種方法監(jiān)控JVM(Java?Virtual?Machine,Java虛擬機(jī))內(nèi)存溢出:
1)監(jiān)控JAVA(一種計(jì)算機(jī)編程語言)應(yīng)用程序的內(nèi)存使用情況,當(dāng)持續(xù)高于設(shè)定閾值時(shí)給出報(bào)警,但內(nèi)存使用高不代表發(fā)生了溢出,因而存在一定的誤報(bào)概率;
2)監(jiān)控應(yīng)用進(jìn)程是否存在,如不存在,報(bào)警通知運(yùn)維人員分析JVM運(yùn)行日志,如日志中出現(xiàn)關(guān)鍵字java.lang.OutOfMemoryError,則發(fā)生了JVM內(nèi)存溢出。
第一種方式誤報(bào)概率太大,無法完成學(xué)習(xí)記憶行為,無法自我更新基準(zhǔn)。第二種方式客戶已經(jīng)感知到系統(tǒng)卡頓后,才進(jìn)行問題機(jī)器下線排查,無法做到事前就發(fā)現(xiàn)問題,解決問題。所以需要一種內(nèi)存波動(dòng)的提前預(yù)警和自我更新基準(zhǔn)的方式,來保證系統(tǒng)的穩(wěn)定性。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提出一種監(jiān)控JVM老生代內(nèi)存溢出的方法、系統(tǒng)、存儲(chǔ)介質(zhì)及設(shè)備,用以解決現(xiàn)有技術(shù)中內(nèi)存預(yù)警方式無法做到提前預(yù)知系統(tǒng)宕機(jī)的風(fēng)險(xiǎn),基本都是內(nèi)存溢出出現(xiàn)后進(jìn)行預(yù)警,監(jiān)控滯后,系統(tǒng)卡頓問題已經(jīng)暴露在客戶層面,造成信任缺失的問題。
基于上述目的,本發(fā)明提供了一種監(jiān)控JVM老生代內(nèi)存溢出的方法,包括以下步驟:
在JVM運(yùn)行過程中,實(shí)時(shí)記錄其內(nèi)存回收日志中老生代內(nèi)存的內(nèi)存使用量;
根據(jù)初始時(shí)期內(nèi)記錄的第一內(nèi)存使用量得到每個(gè)時(shí)刻的內(nèi)存平均使用量,以生成內(nèi)存平均走勢(shì)圖,并將內(nèi)存平均走勢(shì)圖記錄至基線表中;
將初始時(shí)期后記錄的第二內(nèi)存使用量與基線表中相同時(shí)刻的內(nèi)存平均使用量進(jìn)行對(duì)比,并判斷當(dāng)前內(nèi)存走勢(shì)偏差量是否大于預(yù)設(shè)偏差量;
響應(yīng)于當(dāng)前內(nèi)存走勢(shì)偏差大于預(yù)設(shè)偏差量,推送預(yù)警報(bào)文,并基于預(yù)警報(bào)文排查JVM的運(yùn)行系統(tǒng)是否出現(xiàn)內(nèi)存溢出問題,得到排查結(jié)果。
在一些實(shí)施例中,根據(jù)初始時(shí)期內(nèi)記錄的第一內(nèi)存使用量得到每個(gè)時(shí)刻的內(nèi)存平均使用量,以生成內(nèi)存平均走勢(shì)圖包括:
對(duì)一周內(nèi)記錄的相同時(shí)刻的第一內(nèi)存使用量進(jìn)行求平均值計(jì)算,得到每個(gè)時(shí)刻的內(nèi)存平均使用量;
基于每個(gè)時(shí)刻值及對(duì)應(yīng)的內(nèi)存平均使用量生成內(nèi)存平均走勢(shì)圖。
在一些實(shí)施例中,將初始時(shí)期后記錄的第二內(nèi)存使用量與基線表中相同時(shí)刻的內(nèi)存平均使用量進(jìn)行對(duì)比,并判斷當(dāng)前內(nèi)存走勢(shì)偏差量是否大于預(yù)設(shè)偏差量包括:
將一周后記錄的第二內(nèi)存使用量與基線表中相同時(shí)刻的內(nèi)存平均使用量進(jìn)行對(duì)比,并判斷當(dāng)前內(nèi)存走勢(shì)面積與基線表中同時(shí)段內(nèi)存走勢(shì)面積的比例是否大于預(yù)設(shè)的默認(rèn)閾值;
響應(yīng)于比例大于默認(rèn)閾值,確定當(dāng)前內(nèi)存走勢(shì)偏差量大于預(yù)設(shè)偏差量;
響應(yīng)于比例小于等于默認(rèn)閾值,確定當(dāng)前內(nèi)存走勢(shì)偏差量小于等于預(yù)設(shè)偏差量。
在一些實(shí)施例中,方法還包括:
該專利技術(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/202310032670.0/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 多級(jí)校內(nèi)監(jiān)控系統(tǒng)
- 多級(jí)校內(nèi)監(jiān)控系統(tǒng)
- 一種范圍廣、力度大的校內(nèi)監(jiān)控系統(tǒng)
- 一種監(jiān)控的方法及系統(tǒng)
- 設(shè)備的監(jiān)控方法、裝置、系統(tǒng)和空調(diào)
- 多級(jí)校內(nèi)監(jiān)控系統(tǒng)
- 設(shè)備監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 風(fēng)險(xiǎn)雷達(dá)預(yù)警的監(jiān)控方法及系統(tǒng)
- 區(qū)塊鏈網(wǎng)絡(luò)監(jiān)控系統(tǒng)、裝置及方法
- 基于機(jī)器視覺的車站客流安全智能監(jiān)控系統(tǒng)
- 一種軟件性能的檢測(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)
- 一種無侵入JVM線程堆棧采集的方法及裝置
- 一種JVM參數(shù)的調(diào)整方法及裝置
- 基于軟件隔離的服務(wù)提供方法、設(shè)備及存儲(chǔ)介質(zhì)
- 區(qū)塊鏈JVM應(yīng)用方法、設(shè)備和存儲(chǔ)介質(zhì)
- 一種JVM調(diào)優(yōu)方法及裝置





