[發(fā)明專(zhuān)利]內(nèi)存占用情況分析方法、裝置、設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)在審
| 申請(qǐng)?zhí)枺?/td> | 201711295732.8 | 申請(qǐng)日: | 2017-12-08 |
| 公開(kāi)(公告)號(hào): | CN107943681A | 公開(kāi)(公告)日: | 2018-04-20 |
| 發(fā)明(設(shè)計(jì))人: | 張延良 | 申請(qǐng)(專(zhuān)利權(quán))人: | 鄭州云海信息技術(shù)有限公司 |
| 主分類(lèi)號(hào): | G06F11/34 | 分類(lèi)號(hào): | G06F11/34;G06F11/36 |
| 代理公司: | 北京集佳知識(shí)產(chǎn)權(quán)代理有限公司11227 | 代理人: | 羅滿(mǎn) |
| 地址: | 450018 河南省鄭州市*** | 國(guó)省代碼: | 河南;41 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 內(nèi)存 占用 情況 分析 方法 裝置 設(shè)備 計(jì)算機(jī) 存儲(chǔ) 介質(zhì) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及系統(tǒng)狀態(tài)監(jiān)測(cè)技術(shù)領(lǐng)域,特別是涉及一種內(nèi)存占用情況分析方法。本發(fā)明還涉及一種內(nèi)存占用情況分析裝置、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
背景技術(shù)
在開(kāi)發(fā)用戶(hù)態(tài)應(yīng)用程序中,會(huì)經(jīng)常需要檢測(cè)內(nèi)存的占用情況,來(lái)判斷是碰到內(nèi)存泄漏問(wèn)題,還是存在程序占用內(nèi)存過(guò)大情況。
目前一般使用開(kāi)源的內(nèi)存檢測(cè)軟件(如valgrind)去檢測(cè)是否存在內(nèi)存泄漏。但是,這種軟件有個(gè)缺點(diǎn)就是必須終止用戶(hù)態(tài)進(jìn)程才能輸出檢測(cè)結(jié)果,供后續(xù)分析是否存在內(nèi)存泄露以及變量或類(lèi)在申請(qǐng)內(nèi)存后的占用情況,因此目前的檢測(cè)軟件無(wú)法較實(shí)時(shí)的獲取內(nèi)存占用情況。
因此,如何提供一種實(shí)時(shí)性好的內(nèi)存占用情況分析方法、裝置、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)是本領(lǐng)域技術(shù)人員目前需要解決的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種內(nèi)存占用情況分析方法,不需要停止用戶(hù)態(tài)進(jìn)程,可動(dòng)態(tài)統(tǒng)計(jì)內(nèi)存的使用信息,實(shí)時(shí)性好;本發(fā)明的另一目的是提供一種基于上述方法的裝置、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種內(nèi)存占用情況分析方法,包括:
運(yùn)行用戶(hù)態(tài)進(jìn)程,所述用戶(hù)態(tài)進(jìn)程調(diào)用動(dòng)態(tài)庫(kù)的內(nèi)存接口進(jìn)行內(nèi)存申請(qǐng)和釋放;
所述動(dòng)態(tài)庫(kù)依據(jù)自身內(nèi)存接口的調(diào)用情況進(jìn)行內(nèi)存統(tǒng)計(jì),得到統(tǒng)計(jì)信息;
所述動(dòng)態(tài)庫(kù)周期性地將所述統(tǒng)計(jì)信息輸出至指定路徑文件內(nèi)存儲(chǔ);
依據(jù)所述指定路徑文件內(nèi)的所述統(tǒng)計(jì)信息,分析內(nèi)存占用情況。
優(yōu)選地,所述動(dòng)態(tài)庫(kù)為tcmalloc動(dòng)態(tài)庫(kù)。
優(yōu)選地,所述分析內(nèi)存占用情況具體包括:
依據(jù)所述統(tǒng)計(jì)信息,查找內(nèi)存占用超出預(yù)設(shè)大小的變量或類(lèi);
判斷查找出的變量或類(lèi)是否屬于正常的內(nèi)存占用,若是,則輸出內(nèi)存占用過(guò)大的判斷結(jié)果,若不是,輸出存在內(nèi)存泄露的判斷結(jié)果。
為解決上述技術(shù)問(wèn)題,本發(fā)明還提供了一種內(nèi)存占用情況分析裝置,包括:
用戶(hù)態(tài)進(jìn)程運(yùn)行模塊,用于運(yùn)行用戶(hù)態(tài)進(jìn)程,并通過(guò)調(diào)用動(dòng)態(tài)庫(kù)的內(nèi)存接口進(jìn)行所述用戶(hù)態(tài)進(jìn)程的內(nèi)存申請(qǐng)和釋放;
所述動(dòng)態(tài)庫(kù),用于依據(jù)自身內(nèi)存接口的調(diào)用情況進(jìn)行內(nèi)存統(tǒng)計(jì),得到統(tǒng)計(jì)信息;周期性地將所述統(tǒng)計(jì)信息輸出至指定路徑文件內(nèi)存儲(chǔ);
分析模塊,用于依據(jù)所述指定路徑文件內(nèi)的所述統(tǒng)計(jì)信息,分析內(nèi)存占用情況。
優(yōu)選地,所述分析模塊具體包括:
查找單元,用于依據(jù)所述統(tǒng)計(jì)信息,查找內(nèi)存占用超出預(yù)設(shè)大小的變量或類(lèi);
判斷單元,用于判斷查找出的變量或類(lèi)是否屬于正常的內(nèi)存占用,若是,則輸出內(nèi)存占用過(guò)大的判斷結(jié)果,若不是,輸出存在內(nèi)存泄露的判斷結(jié)果。
為解決上述技術(shù)問(wèn)題,本發(fā)明還提供了一種內(nèi)存占用情況分析設(shè)備,包括:
存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序;
處理器,用于執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)如以上任一項(xiàng)所述的內(nèi)存占用情況分析方法的步驟。
為解決上述技術(shù)問(wèn)題,本發(fā)明還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如以上任一項(xiàng)所述的內(nèi)存占用情況分析方法的步驟。
本發(fā)明提供了一種內(nèi)存占用情況分析方法,在動(dòng)態(tài)庫(kù)內(nèi)增加內(nèi)存統(tǒng)計(jì)的功能,用戶(hù)態(tài)進(jìn)程調(diào)用動(dòng)態(tài)庫(kù)內(nèi)的內(nèi)存接口進(jìn)行內(nèi)存申請(qǐng)和釋放時(shí),動(dòng)態(tài)庫(kù)會(huì)實(shí)時(shí)依據(jù)內(nèi)存接口的情況進(jìn)行內(nèi)存統(tǒng)計(jì),得到統(tǒng)計(jì)信息,進(jìn)而使得后續(xù)可根據(jù)該統(tǒng)計(jì)信息,分析內(nèi)存占用情況。可見(jiàn),本發(fā)明不需要停止用戶(hù)態(tài)進(jìn)程,而是在用戶(hù)態(tài)進(jìn)程申請(qǐng)或釋放內(nèi)存時(shí)即實(shí)時(shí)的統(tǒng)計(jì)了內(nèi)存的占用信息,采用動(dòng)態(tài)統(tǒng)計(jì)的方式,實(shí)時(shí)性好。本發(fā)明還提供了一種基于上述方法的裝置、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),在此不再贅述。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)現(xiàn)有技術(shù)和實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的一種內(nèi)存占用情況分析方法的過(guò)程的流程圖;
圖2為本發(fā)明提供的一種內(nèi)存占用情況分析裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明的核心是提供一種內(nèi)存占用情況分析方法,不需要停止用戶(hù)態(tài)進(jìn)程,可動(dòng)態(tài)統(tǒng)計(jì)內(nèi)存的使用信息,實(shí)時(shí)性好;本發(fā)明的另一目的是提供一種基于上述方法的裝置、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于鄭州云海信息技術(shù)有限公司,未經(jīng)鄭州云海信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711295732.8/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
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),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤





