[發明專利]一種針對Linux系統RPM包統計CPU占用率的方法及系統在審
| 申請號: | 201710656280.5 | 申請日: | 2017-08-03 |
| 公開(公告)號: | CN107491372A | 公開(公告)日: | 2017-12-19 |
| 發明(設計)人: | 郭靖偉 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30;G06F11/34 |
| 代理公司: | 濟南誠智商標專利事務所有限公司37105 | 代理人: | 鄧東坡 |
| 地址: | 450018 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 針對 linux 系統 rpm 統計 cpu 占用率 方法 | ||
1.一種針對Linux系統RPM包統計CPU占用率的方法,其特征在于,
在系統中運行RPM包文件,并查詢所述RPM軟件的所有進程信息;
計算步驟:讀取Linux系統目錄信息,獲取從系統啟動開始到當前時刻CPU運行的總節數和所有進程自啟動后分別使用的CPU節拍數,進而得到所有進程的CPU占用率;
定位步驟:定位每一進程,并分別將對應進程的CPU占用率累加到所屬RPM包的CPU使用率上,遍歷完所有進程后得到所述RPM包的CPU占用率;
輸出步驟:將獲取的所述RPM包CPU占用率數據輸出。
2.根據權利要求1所述的一種針對Linux系統RPM包統計CPU占用率的方法,其特征在于,所述計算步驟,通過讀取Linux系統中/proc/stat文件的內容,獲取從系統啟動開始到當前時刻CPU運行的總節數,包括用戶態運行時間、內核態運行時間、IO等待時間、其他等待時間、軟中斷時間、硬中斷時間,將這些節拍值相加后即是系統自啟動以來CPU運行的總節拍數。
3.根據權利要求1所述的一種針對Linux系統RPM包統計CPU占用率的方法,其特征在于,所述計算步驟,通過讀取Linux系統中/proc/[pid]/stat文件中的內容,獲取進程在用戶態運行的時間節拍數、進程在內核態運行的時間節拍數、進程所有已死線程在用戶態運行的節拍數、所有已死線程在內核態運行的節拍數,將這四個節拍數相加后就是進程自啟動后使用的CPU節拍數。
4.根據權利要求1所述的一種針對Linux系統RPM包統計CPU占用率的方法,其特征在于,所述計算步驟中,計算某一進程CPU使用率的方法是在一個時間點獲取此時的CPU總節拍數totalcputime1和對應進程的CPU使用節拍數processcputime1,間隔一段時間,再獲取一次CPU總節拍數totalcputime2和此時進程的CPU使用節拍數processcputime2,利用公式:percent=100*(processcputime2-processcputime1)/(totalcputime2-totalcputime1)計算對應進程在這段時間的CPU使用率。
5.根據權利要求1所述的一種針對Linux系統RPM包統計CPU占用率的方法,其特征在于,所述定位步驟,根據所述計算步驟進程信息列表中進程號pid,通過讀取/proc/[pid]/cmdline文件中的內容獲取相應進程的完整運行路徑,利用rpm-qf加進程完整運行路徑來定位對應進程所屬的RPM包。
6.根據權利要求1所述的一種針對Linux系統RPM包統計CPU占用率的方法,其特征在于,所述輸出步驟,將所述定位步驟中得到的RPM包CPU占用率數據,安裝每個RPM軟件包的名稱和CPU占用率信息以固定的格式輸出到終端。
7.一種針對Linux系統RPM包統計CPU占用率的系統,其特征在于,包括計算模塊、定位模塊和輸出模塊,所述計算模塊用于將從系統啟動開始到當前時刻CPU運行的總節數和所有進程自啟動后分別使用的CPU節拍數,分別得到對應的所有進程的CPU占用率;所述定位模塊用于在系統中根據每一進程的定位,將對應進程的CPU占用率累加到所屬RPM包的CPU使用率上,得到所述RPM包的CPU占用率;所述輸出步驟用于將獲取的所述RPM包CPU占用率數據輸出到終端設備。
8.根據權利要求7所述的一種針對Linux系統RPM包統計CPU占用率的系統,其特征在于,所述計算模塊中設有第一寄存器、第二寄存器和計算單元,所述第一寄存器用于保存間隔時間獲取的前后CPU總節拍數totalcputime1和totalcputime2,第二寄存器用于保存與CPU總節拍數totalcputime1和totalcputime2對應的進程CPU使用節拍數processcputime1和processcputime2,所述計算單元用于將獲取的對應的進程CPU使用節拍數processcputime1和processcputime2的差值、CPU總節拍數totalcputime1和totalcputime2差值進行處理,獲得對應進程在這段時間的CPU使用率。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710656280.5/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種獲取硬件故障信息的方法及裝置
- 下一篇:一種任務棧溢出監測方法及系統





