[發(fā)明專利]JVM線程監(jiān)控方法、裝置及電子設(shè)備在審
| 申請?zhí)枺?/td> | 202110027887.3 | 申請日: | 2021-01-08 |
| 公開(公告)號: | CN112732405A | 公開(公告)日: | 2021-04-30 |
| 發(fā)明(設(shè)計)人: | 肖凱;譚吉湘;楊陸;王曉宇 | 申請(專利權(quán))人: | 北京數(shù)衍科技有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455;G06F11/30;G06F11/32 |
| 代理公司: | 北京超凡宏宇專利代理事務(wù)所(特殊普通合伙) 11463 | 代理人: | 榮穎佳 |
| 地址: | 100000 北京市朝*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | jvm 線程 監(jiān)控 方法 裝置 電子設(shè)備 | ||
本發(fā)明提供了JVM線程監(jiān)控方法、裝置及電子設(shè)備。其中,該方法包括:獲取JVM日志;對JVM日志進行解析處理,得到JVM中線程的運行信息;其中,運行信息包括以下至少之一:線程狀態(tài)信息、內(nèi)存使用信息和方法執(zhí)行信息;判斷運行信息是否與對應(yīng)的預(yù)設(shè)告警規(guī)則相匹配;其中,預(yù)設(shè)告警規(guī)則包括以下至少之一:線程數(shù)量閾值、內(nèi)存使用閾值和方法執(zhí)行響應(yīng)時間閾值;如果是,則生成運行信息對應(yīng)的告警信息,以進行告警提示;從而通過預(yù)設(shè)告警規(guī)則,實現(xiàn)對JVM中線程的運行信息的監(jiān)控,并當發(fā)生故障時通過告警信息進行告警,與現(xiàn)有的人工排查方法相比,提高了線程故障排查的效率和精度。
技術(shù)領(lǐng)域
本發(fā)明涉及計算機技術(shù)領(lǐng)域,尤其是涉及JVM線程監(jiān)控方法、裝置及電子設(shè)備。
背景技術(shù)
當前,在眾多互聯(lián)網(wǎng)公司中,很多系統(tǒng)在服務(wù)器(或云服務(wù)器)上運行,當系統(tǒng)開發(fā)到一定階段,線上的服務(wù)器(或云服務(wù)器)越來越多,此時,除了需要監(jiān)控服務(wù)器之外,還需對業(yè)務(wù)方面進行監(jiān)控。由于很多業(yè)務(wù)系統(tǒng)采用Java語言開發(fā),JVM(Java Virtual Machine)是Java平臺的一部分,因此,JVM能夠運行采用Java語言編寫的軟件程序。
在實際應(yīng)用中,很多Java程序采用多線程的方式來處理大量的并發(fā)請求,但是多線程執(zhí)行的程序往往會出現(xiàn)一些問題,比如出現(xiàn)線程阻塞或者鎖死的現(xiàn)象,從而導(dǎo)致運行的Java程序效率低下甚至出現(xiàn)不可用的現(xiàn)象。針對上述多線程執(zhí)行時出現(xiàn)的問題,現(xiàn)有方法主要通過人工方法逐個排查運行的多線程,該方法雖然可以排查到發(fā)生故障的線程,但耗時較長,降低了排查效率和精度,不能滿足實際應(yīng)用需求。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供JVM線程監(jiān)控方法、裝置及電子設(shè)備,以緩解上述問題,提高了線程故障排查的效率和精度。
第一方面,本發(fā)明實施例提供了一種JVM線程監(jiān)控方法,應(yīng)用于配置有JVM的服務(wù)器,該方法包括:獲取JVM日志;對JVM日志進行解析處理,得到JVM中線程的運行信息;其中,運行信息包括以下至少之一:線程狀態(tài)信息、內(nèi)存使用信息和方法執(zhí)行信息;判斷運行信息是否與對應(yīng)的預(yù)設(shè)告警規(guī)則相匹配;其中,預(yù)設(shè)告警規(guī)則包括以下至少之一:線程數(shù)量閾值、內(nèi)存使用閾值和方法執(zhí)行響應(yīng)時間閾值;如果是,則生成運行信息對應(yīng)的告警信息,以進行告警提示;其中,告警信息包括故障類型信息和/或故障位置信息。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第一種可能的實施方式,其中,線程狀態(tài)信息包括運行狀態(tài)和非運行狀態(tài),上述判斷運行信息是否與對應(yīng)的預(yù)設(shè)告警規(guī)則相匹配的步驟,包括:根據(jù)每個線程的線程狀態(tài)信息,計算得到JVM中運行線程數(shù)量;判斷運行線程數(shù)量是否大于或等于線程數(shù)量閾值;如果是,則確定運行信息與對應(yīng)的預(yù)設(shè)告警規(guī)則相匹配。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第二種可能的實施方式,其中,每個線程配置有時間片,上述判斷運行信息是否與對應(yīng)的預(yù)設(shè)告警規(guī)則相匹配的步驟,包括:判斷當前時間片對應(yīng)的內(nèi)存使用信息是否大于或等于內(nèi)存使用閾值;如果是,則確定當前時間片的運行信息與對應(yīng)的預(yù)設(shè)告警規(guī)則相匹配。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第三種可能的實施方式,其中,上述判斷運行信息是否與對應(yīng)的預(yù)設(shè)告警規(guī)則相匹配的步驟,包括:基于方法執(zhí)行信息確定線程對應(yīng)方法的方法執(zhí)行響應(yīng)時間;判斷方法執(zhí)行響應(yīng)時間是否大于或等于方法執(zhí)行響應(yīng)時間閾值;如果是,則確定運行信息與對應(yīng)的預(yù)設(shè)告警規(guī)則相匹配。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第四種可能的實施方式,其中,上述獲取JVM日志的步驟,包括:實時獲取JVM日志;或者,按照預(yù)設(shè)時間間隔獲取JVM日志。
結(jié)合第一方面,本發(fā)明實施例提供了第一方面的第五種可能的實施方式,其中,上述判斷運行信息是否與對應(yīng)的預(yù)設(shè)告警規(guī)則相匹配的步驟之前,該方法還包括:對運行信息進行過濾處理,得到處理后的運行信息;和/或,對運行信息進行清洗處理,得到處理后的運行信息。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京數(shù)衍科技有限公司,未經(jīng)北京數(shù)衍科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110027887.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 在多線程處理器中用于高速線程間中斷的方法和設(shè)備
- 一種多線程系統(tǒng)中實現(xiàn)實時監(jiān)控各線程狀態(tài)的方法
- 移動終端系統(tǒng)線程池實現(xiàn)方法及裝置
- 一種基于策略模式的信號發(fā)生器多線程管理方法
- 多線程并發(fā)處理方法和多線程并發(fā)處理系統(tǒng)
- 分布式系統(tǒng)的線程管理方法和裝置
- 線程執(zhí)行方法、裝置、終端及存儲介質(zhì)
- 線程監(jiān)控方法、裝置、電子設(shè)備及計算機可讀存儲介質(zhì)
- 一種多核系統(tǒng)中多線程調(diào)度方法、裝置及設(shè)備
- 線程間通信方法、裝置、電子設(shè)備及存儲介質(zhì)
- 多級校內(nèi)監(jiān)控系統(tǒng)
- 多級校內(nèi)監(jiān)控系統(tǒng)
- 一種范圍廣、力度大的校內(nèi)監(jiān)控系統(tǒng)
- 一種監(jiān)控的方法及系統(tǒng)
- 設(shè)備的監(jiān)控方法、裝置、系統(tǒng)和空調(diào)
- 多級校內(nèi)監(jiān)控系統(tǒng)
- 設(shè)備監(jiān)控方法、裝置、計算機設(shè)備及存儲介質(zhì)
- 風(fēng)險雷達預(yù)警的監(jiān)控方法及系統(tǒng)
- 區(qū)塊鏈網(wǎng)絡(luò)監(jiān)控系統(tǒng)、裝置及方法
- 基于機器視覺的車站客流安全智能監(jiān)控系統(tǒng)





