[發明專利]CPU負荷值檢測方法和裝置在審
| 申請號: | 202011349233.4 | 申請日: | 2020-11-26 |
| 公開(公告)號: | CN112540886A | 公開(公告)日: | 2021-03-23 |
| 發明(設計)人: | 董廣譜;王全利;李蒙 | 申請(專利權)人: | 北京和利時系統工程有限公司 |
| 主分類號: | G06F11/22 | 分類號: | G06F11/22;G06F11/34 |
| 代理公司: | 北京安信方達知識產權代理有限公司 11262 | 代理人: | 解婷婷 |
| 地址: | 100176 北京市大*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | cpu 負荷 檢測 方法 裝置 | ||
本發明公開了一種CPU負荷值檢測方法和裝置,包括:當用戶空間完成初始化過程后,用戶空間的時鐘中斷線程timer_usr每隔預設時間段采集用戶空間的空閑線程idle_usr的運行次數瞬時值;根據預設的所述idle_usr的運行次數的基準值、所采集的所述idle_usr的運行次數瞬時值計算CPU負荷值。本發明公開的方法和裝置在用戶空間實現了CPU負荷值檢測。
技術領域
本公開涉及計算機領域,尤其涉及CPU負荷值檢測方法和裝置。
背景技術
一般操作系統均在內核空間實現CPU負荷檢測,該操作系統的內核空間有一個優先級為255的空閑線程(即idle_ker),通過內核空間的空閑線程檢測CPU負荷。
發明內容
本公開實施例提供了一種CPU負荷值檢測方法,包括:
當用戶空間用于系統初始化的初始線程完成初始化過程后,用戶空間的時鐘中斷線程timer_usr每隔預設時間段采集用戶空間的空閑線程idle_usr的運行次數瞬時值;
根據預先計算的所述idle_usr的運行次數的基準值、所采集的所述idle_usr的運行次數瞬時值計算CPU負荷值;
其中,所述idle_usr的優先級低于用戶空間的任何其他線程的優先級且高于內核空間的空閑線程idle_ker的優先級,所述timer_usr的優先級僅低于所述初始線程;當用戶空間沒有高于所述idle_usr的優先級線程準備就緒時,所述idle_usr一直在運行。
一種示例性的實施例中,所述初始化過程包括以下步驟:
步驟一:所述初始線程創建所述timer_usr和所述idle_usr;
步驟二:所述初始線程阻塞自身線程,檢測所述idle_usr的運行次數的基準值;
步驟三:所述時鐘中斷線程喚醒所述初始線程;
步驟四:所述初始線程被喚醒,創建用戶空間的其它線程;
步驟五:用戶空間的其它線程創建完畢后,所述初始線程阻塞自身線程。
一種示例性的實施例中,所述檢測所述idle_usr的運行次數的基準值,包括:
所述timer_usr在N個預設時間段采集到所述idle_usr的N個運行次數瞬時值,根據所述N個運行次數瞬時值計算出所述idle_usr的運行次數的基準值;
其中,N為預設的整數。
一種示例性的實施例中,所述根據所述N個運行次數瞬時值計算出所述idle_usr的運行次數的基準值,包括:
將所述N個運行次數瞬時值中的每2個相鄰預設時間段的運行次數瞬時值之差作為1個預設時間段的運行次數;
將N個預設時間段的運行次數取平均值即得到所述idle_usr的運行次數的基準值。
一種示例性的實施例中,所述根據預先計算的所述idle_usr的運行次數的基準值、所采集的所述idle_usr的運行次數瞬時值計算CPU負荷值,包括:
根據所述idle_usr的運行次數的基準值、當前所采集的所述idle_usr的運行次數瞬時值以及前一次所采集的所述idle_usr的運行次數瞬時值計算當前的CPU負荷值。
一種示例性的實施例中,根據預先計算的所述idle_usr的運行次數的基準值、當前所采集的所述idle_usr的運行次數瞬時值以及前一次所采集的所述idle_usr的運行次數瞬時值計算當前的CPU負荷值,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京和利時系統工程有限公司,未經北京和利時系統工程有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011349233.4/2.html,轉載請聲明來源鉆瓜專利網。





