[發(fā)明專利]一種內(nèi)存泄漏的檢測(cè)方法、裝置、介質(zhì)和電子設(shè)備有效
| 申請(qǐng)?zhí)枺?/td> | 201911134490.3 | 申請(qǐng)日: | 2019-11-19 |
| 公開(公告)號(hào): | CN110941549B | 公開(公告)日: | 2021-12-07 |
| 發(fā)明(設(shè)計(jì))人: | 樸英敏 | 申請(qǐng)(專利權(quán))人: | 北京字節(jié)跳動(dòng)網(wǎng)絡(luò)技術(shù)有限公司 |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 北京睿馳通程知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11604 | 代理人: | 唐華;張文平 |
| 地址: | 100041 北京市石景山區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 內(nèi)存 泄漏 檢測(cè) 方法 裝置 介質(zhì) 電子設(shè)備 | ||
本發(fā)明提供了一種內(nèi)存泄漏的檢測(cè)方法、裝置、介質(zhì)和電子設(shè)備,其中,所述檢測(cè)方法包括:獲取內(nèi)存發(fā)生泄漏的各個(gè)異常點(diǎn)對(duì)應(yīng)的各個(gè)異常時(shí)間點(diǎn),以及各個(gè)異常時(shí)間點(diǎn)對(duì)應(yīng)的至少一項(xiàng)業(yè)務(wù)信息;根據(jù)業(yè)務(wù)信息與業(yè)務(wù)之間的關(guān)聯(lián)關(guān)系,確定出與業(yè)務(wù)信息具有關(guān)聯(lián)關(guān)系的業(yè)務(wù),并將業(yè)務(wù)確定為應(yīng)用程序發(fā)生內(nèi)存泄漏的故障業(yè)務(wù);對(duì)發(fā)生故障業(yè)務(wù)的各個(gè)測(cè)試點(diǎn)進(jìn)行壓力測(cè)試,檢測(cè)應(yīng)用程序發(fā)生內(nèi)存泄漏的故障點(diǎn)。本發(fā)明通過內(nèi)存發(fā)生泄漏的各個(gè)異常時(shí)間點(diǎn)對(duì)應(yīng)的業(yè)務(wù)信息與業(yè)務(wù)之間的關(guān)聯(lián)關(guān)系,不僅能夠精準(zhǔn)地確定出應(yīng)用程序發(fā)生內(nèi)存泄漏的故障業(yè)務(wù),還能夠精準(zhǔn)地檢測(cè)應(yīng)用程序發(fā)生內(nèi)存泄漏的故障點(diǎn)。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體而言,涉及一種內(nèi)存泄漏的檢測(cè)方法、裝置、介質(zhì)和電子設(shè)備。
背景技術(shù)
計(jì)算機(jī)系統(tǒng)中重要的兩個(gè)器件是CPU(Central Processing Unit,中央處理器)和內(nèi)存,中央處理器和內(nèi)存對(duì)于APP(Application,應(yīng)用程序)的性能至關(guān)重要,也是APP應(yīng)用程序性能優(yōu)化的關(guān)鍵課題。由于業(yè)務(wù)的不斷更新迭代,內(nèi)存的增長以及泄露問題,一直是業(yè)務(wù)的一大痛點(diǎn)。一旦出現(xiàn)內(nèi)存泄露的問題,app應(yīng)用程序的運(yùn)行效率就會(huì)降低,甚至?xí)霈F(xiàn)因?yàn)镺OM(Out of memory,內(nèi)存不足)的異常情況導(dǎo)致應(yīng)用程序崩潰的問題,或者,會(huì)出現(xiàn)因?yàn)锳NR(Application not Responding,應(yīng)用程序無響應(yīng))的異常情況導(dǎo)致應(yīng)用崩潰的問題。因此,監(jiān)控應(yīng)用程序的內(nèi)存是否發(fā)生泄漏,對(duì)于應(yīng)用程序的性能和穩(wěn)定性至關(guān)重要。
現(xiàn)有的技術(shù),檢測(cè)內(nèi)存泄漏的方法是通過抓取內(nèi)存的快照信息。對(duì)于java這種運(yùn)行在虛擬機(jī)上面的程序,虛擬機(jī)本身記錄著詳細(xì)的內(nèi)存使用信息,因此,當(dāng)應(yīng)用程序崩潰時(shí),可以通過對(duì)內(nèi)存快照進(jìn)行分析,分析出內(nèi)存出現(xiàn)泄露的對(duì)象。
但現(xiàn)有的內(nèi)存泄漏的檢測(cè)方法有如下兩個(gè)缺點(diǎn),一個(gè)缺點(diǎn)是:存儲(chǔ)內(nèi)存快照不僅需要消耗存儲(chǔ)空間,還需要消耗有限的中央處理器運(yùn)算能力,此外,將內(nèi)存快照上傳至服務(wù)器的過程也會(huì)消耗流量,因此,現(xiàn)有的內(nèi)存泄漏的檢測(cè)方法很難應(yīng)用到線上。另一個(gè)缺點(diǎn)是:內(nèi)存快照只能定位對(duì)象,卻不能定位業(yè)務(wù)無法通過對(duì)內(nèi)存快照進(jìn)行分析,分析出具體是哪一塊業(yè)務(wù)出現(xiàn)問題。
此外,對(duì)于C/C++類的程序來說,其內(nèi)存管理的過程是是高效、且精致的,在其內(nèi)存快照信息中幾乎沒有任何調(diào)試信息,因此,對(duì)于C/C++類的程序來說,很難根據(jù)其內(nèi)存快照信息,定位出其內(nèi)存發(fā)生泄漏的對(duì)象;更別說,根據(jù)其內(nèi)存快照信息,定位出其內(nèi)存發(fā)生泄漏的業(yè)務(wù)。
因此,在長期的研發(fā)當(dāng)中,發(fā)明人對(duì)內(nèi)存泄漏的檢測(cè)方法進(jìn)行了大量的研究,提出了一種內(nèi)存泄漏的檢測(cè)方法,以解決上述技術(shù)問題之一。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種內(nèi)存泄漏的檢測(cè)方法、裝置、介質(zhì)和電子設(shè)備,能夠解決上述提到的至少一個(gè)技術(shù)問題。具體方案如下:
根據(jù)本發(fā)明的具體實(shí)施方式,第一方面,本發(fā)明提供一種內(nèi)存泄漏的檢測(cè)方法,包括:
獲取內(nèi)存發(fā)生泄漏的各個(gè)異常點(diǎn)對(duì)應(yīng)的各個(gè)異常時(shí)間點(diǎn),以及各個(gè)異常時(shí)間點(diǎn)對(duì)應(yīng)的至少一項(xiàng)業(yè)務(wù)信息;
根據(jù)所述業(yè)務(wù)信息與業(yè)務(wù)之間的關(guān)聯(lián)關(guān)系,確定出與所述業(yè)務(wù)信息具有所述關(guān)聯(lián)關(guān)系的所述業(yè)務(wù),并將所述業(yè)務(wù)確定為應(yīng)用程序發(fā)生內(nèi)存泄漏的故障業(yè)務(wù);
對(duì)發(fā)生所述故障業(yè)務(wù)的各個(gè)測(cè)試點(diǎn)進(jìn)行壓力測(cè)試,檢測(cè)所述應(yīng)用程序發(fā)生內(nèi)存泄漏的故障點(diǎn)。
根據(jù)本發(fā)明的具體實(shí)施方式,第二方面,本發(fā)明提供一種內(nèi)存泄漏的檢測(cè)裝置,包括:
獲取單元,用于獲取內(nèi)存發(fā)生泄漏的各個(gè)異常點(diǎn)對(duì)應(yīng)的各個(gè)異常時(shí)間點(diǎn),以及各個(gè)異常時(shí)間點(diǎn)對(duì)應(yīng)的至少一項(xiàng)業(yè)務(wù)信息;
確定單元,用于根據(jù)所述獲取單元獲取到的所述業(yè)務(wù)信息與業(yè)務(wù)之間的關(guān)聯(lián)關(guān)系,確定出與所述業(yè)務(wù)信息具有所述關(guān)聯(lián)關(guān)系的所述業(yè)務(wù),并將所述業(yè)務(wù)確定為應(yīng)用程序發(fā)生內(nèi)存泄漏的故障業(yè)務(wù);
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京字節(jié)跳動(dòng)網(wǎng)絡(luò)技術(shù)有限公司,未經(jīng)北京字節(jié)跳動(dòng)網(wǎng)絡(luò)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911134490.3/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ò)誤
- 檢測(cè)裝置、檢測(cè)方法和檢測(cè)組件
- 檢測(cè)方法、檢測(cè)裝置和檢測(cè)系統(tǒng)
- 檢測(cè)裝置、檢測(cè)方法以及記錄介質(zhì)
- 檢測(cè)設(shè)備、檢測(cè)系統(tǒng)和檢測(cè)方法
- 檢測(cè)芯片、檢測(cè)設(shè)備、檢測(cè)系統(tǒng)和檢測(cè)方法
- 檢測(cè)裝置、檢測(cè)設(shè)備及檢測(cè)方法
- 檢測(cè)芯片、檢測(cè)設(shè)備、檢測(cè)系統(tǒng)
- 檢測(cè)組件、檢測(cè)裝置以及檢測(cè)系統(tǒng)
- 檢測(cè)裝置、檢測(cè)方法及檢測(cè)程序
- 檢測(cè)電路、檢測(cè)裝置及檢測(cè)系統(tǒng)
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





