[發明專利]CPU利用率檢測方法和裝置有效
| 申請號: | 201010034050.3 | 申請日: | 2010-01-12 |
| 公開(公告)號: | CN101727379A | 公開(公告)日: | 2010-06-09 |
| 發明(設計)人: | 祁云 | 申請(專利權)人: | 瑞斯康達科技發展股份有限公司 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30 |
| 代理公司: | 北京安信方達知識產權代理有限公司 11262 | 代理人: | 栗若木;王漪 |
| 地址: | 100085 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | cpu 利用率 檢測 方法 裝置 | ||
技術領域
本發明涉及嵌入式系統,尤其涉及一種CPU利用率檢測方法和裝置。
背景技術
目前嵌入式系統中運行的任務越來越多,系統處理的數據量也越來越 大,對系統性能的要求就越來越高,實時監控系統運行狀況就顯得非常重要。 CPU利用率的變化正可以反映出系統當前運行狀況及各任務運行狀況,是 實現系統監控的一個重要標準。CPU利用率能說明CPU的工作狀況,利用 率越高說明CPU處于高速運轉(繁忙)狀態,這時候發熱量大,利用率超 過90%的話,時間長了很容易死機,如果散熱不好的話,還會導致CPU燒 毀,導致整個系統報廢。為了避免以上情況的發生,如何實時的監控各任務 及系統的運行狀況而及時的采取措施就成為一個很重要的問題,要想真實地 反映當前CPU占用情況,就需要保證CPU利用率的準確性。
現有技術中一般采用離散時間窗口的方法確定CPU利用率,即任務切 換時對時間直接累加、保存時間窗口內的時間總數進行計算;另外一種方法 是采用滑動時間窗口。
在使用上述離散時間窗口及滑動時間窗口方法檢測CPU利用率時,存 在如下問題:
通過離散時間窗口方法檢測時,僅在發生任務切換時檢測預置的時間窗 內的CPU利用率,而在CPU執行任務的過程中,CPU的利用率可能隨時產 生變化,僅在任務切換時進行檢測不能如實的反應當前的系統運行狀況,導 致檢測結果不準確。
而使用滑動時間窗口方法檢測CPU利用率時,在時間窗滑動時觸發檢 測,但只檢測發生窗口滑動的時間之前的時間點,當前時間點內的CPU占 用時間不在檢測范圍內,檢測結果不準確,不能實時反映CPU利用情況。
發明內容
本發明提供了一種CPU利用率檢測方法和裝置,解決了CPU利用率檢 測不準確的問題。
一種CPU利用率檢測方法,包括:
在檢測到觸發條件時,確定離散時間部分和滑動時間部分,當前時間窗 口的前N-1個離散間隔即為離散時間部分,當前離散間隔中流逝的時間即為 滑動時間部分,N為所述時間窗內的離散間隔數量;
分別獲取離散時間部分和滑動時間部分的CPU占用時間,具體的,根 據表達式O=(Pt-Pt-1)*106/S+Q*106/Freq分別計算離散時間部分和滑動時間部 分的CPU占用時間,其中,O為CPU占用時間,P為計算范圍內的tick數, S為系統設定的頻率,Q為1個tick內的CPU周期數,Freq為CPU主頻;
根據所述離散時間部分和滑動時間部分的CPU占用時間,計算獲得當 前CPU利用率,具體的,根據表達式計算獲得當前 CPU利用率,其中,PT為CPU利用率,Ot為滑動時間部分中的CPU占用時 間,為離散時間部分的CPU占用時間,t為滑動時間部分,為離 散時間部分。
進一步的,所述觸發條件具體為外部指令,所述確定離散時間部分和滑 動時間部分包括:
獲取監測時間窗中除當前離散間隔外全部其他離散間隔作為離散時間 部分;
獲取當前離散間隔內的流逝時間作為滑動時間部分。
進一步的,所述觸發條件具體為發生任務切換,該方法還包括:
在檢測到發生任務切換時,記錄切換時間。
進一步的,所述確定離散時間部分和滑動時間部分包括:
將本次切換時間與上一次切換時間之間的時長作為離散時間部分;
將新任務執行的時間作為滑動時間部分。
本發明還提供了一種CPU利用率檢測裝置,包括:
時間確認模塊,用于在檢測到觸發條件時,確定離散時間部分和滑動時 間部分,當前時間窗口的前N-1個離散間隔即為離散時間部分,當前離散間 隔中流逝的時間即為滑動時間部分,N為所述時間窗內的離散間隔數量;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于瑞斯康達科技發展股份有限公司,未經瑞斯康達科技發展股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010034050.3/2.html,轉載請聲明來源鉆瓜專利網。





