不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學習啦>學習電腦>選購與維護>選購指南>

cpu使用率如何計算

時間: 林輝766 分享

  我們電腦的cpu使用率你會計算嗎?其實也不難的!下面由學習啦小編給你做出詳細的介紹!希望對你有幫助!

  cpu使用率計算方法

  使用CPU的處理能力基準計算實時CPU占用率

  具體描述:

  (1) 在RTOS系統(tǒng)啟動前, 使用Tick中斷測試CPU的處理能力基準 CPUPerformanceBase;

  (2) 在系統(tǒng)進入運行后, 使用空閑任務執(zhí)行與測試CPU處理能力基準完全相同的算法, 得到RTCPUPerformance.

  (3) 周期地計算CPU占用率, 并清除RTCPUPerformance的值, 一般每秒鐘計算一次:

  RealTime CPU Load = 1 - (RTCPUPerformance/CPUPerformanceBase) * 100%

  優(yōu)點:

  (1) 實現簡單

  (2) 所得到的CPU占用率非常準確, 誤差只取決于CPUPerformanceBase的測試結果和整除時的余數, 通常誤差小于1%

  (3) 不占用硬件資源

  缺點:

  (1) CPU必須一直全速運行, 不能修改CPU主頻, 也不能使CPU進入掉電保護模式

  (2) 不能得到系統(tǒng)中每個任務對CPU占用率的貢獻

  (3) 必須有一個空閑任務才能計算

  評價:

  這個算法只適用于工控, 電信等對不需要使CPU進入掉電保護模式的領域.

  在Tick中斷中對RTOS中的任務進行采樣

  具體描述:

  (1) 系統(tǒng)進入運行后, 每次Tick中斷發(fā)生時, 采樣一下當前正在執(zhí)行的任務, 如果CPU處于HALT態(tài), 累加haltTimes

  (2) 周期性地計算CPU占用率, 一般每秒鐘計算一次, 并清除haltTimes:(tickIntFrequance表示Tick中斷的發(fā)生頻率)

  RealTime CPU Load = haltTimes / tickIntFrequance

  某個任務對CPU占用率的貢獻 = 一個周期內該任務被采樣到的次數 / tickIntFrequance * 100%

  優(yōu)點:

  (1) 實現簡單

  (2) 支持CPU掉電模式

  (3) 可以大致得到每個任務對CPU占用率的貢獻

  缺點:

  (1) 誤差取決于Tick的頻率和OS中每個任務的運行時長, 因此誤差非常大

  評價:

  這個算法適用于對CPU占用率精度要求不高的消息電子產品.

  精確計算每個任務對CPU占用率的貢獻

  具體描述:

  (1) 除Tick中斷外,另開一個比Tick中斷頻率快若干倍的周期中斷(就叫AUXTimer中斷吧), 這個中斷只對一個計數器執(zhí)行一次累加.

  (2) 在OS每次執(zhí)行任務切換時讀取該計數器的值(AUXTimer), 并保存到TCB中, 比如, 從任務Task1切換到任務Task2, 算法如下:

  Task1, 換出動作:

  task1的結束運行時間 = AUXTimer的當前值

  task1的總運行時間 = task1的總運行時間 + task1的結束運行時間 - task1的開始運行時間

  Task2, 換入動作:

  task2的開始運行時間 = AUXTimer的當前值

  (以上算法中沒有考慮數字回繞, 在工程實現時應當考慮, 發(fā)生回繞后任務的結束運行時間小于任務的開始運行時間.

  (3) 周期性地計算CPU占用率, 一般每秒鐘計算一次, 并清除每個任務的總運行時間, 下面的公式中, 一個周期內的總時間等于AUXTimer周期除以Tick周期得到的倍數:

  某個任務對CPU占用率的貢獻 = 一個周期內該任務的總運行時間 / 一個周期內的總時間

  RealTime CPU Load = 所有任務的CPU占用率之和

  對這個方法進行簡單改進, 就可以實現對CPU占用率進行實時測量, 看官自己動動腦筋吧.

  優(yōu)點:

  (1) 誤差取決于AUXTimer中斷的頻率, 可以非常精確地得到每個任務對CPU占用率的貢獻

  缺點:

  (1) 復雜, 加大了任務切換時的開銷

  (2) 和前兩種算法相比, 這個算法要多占用一個硬件資源

  cpu使用率計算方法二

  需要兩個進程,一個為idle進程;一個為統(tǒng)計進程。

  idle進程在系統(tǒng)空閑時執(zhí)行,每執(zhí)行一次為一個計數器count加一。統(tǒng)計進程每秒執(zhí)行一次負責計算CPU使用率,并把count清零。

  首先要求出沒有其它進程時count一秒中內由零開始的累加值max,這通常在系統(tǒng)初始化時完成。有其它進程時idle進程執(zhí)行的次數減少,count的累加值也小于max。

  統(tǒng)計進程計算CPU使用率時采用以下公式:

  usage=(1-count/max)*100。

  再來介紹下CPU使用率:

  CPU使用率其實就是運行的程序占用的CPU資源,表示機器在某個時間點的運行程序的情況。

  使用率越高,說明機器在這個時間上運行了很多程序,反之較少。使用率的高低與CPU強弱有直接關系?,F代分時多任務操作系統(tǒng)對 CPU 都是分時間片使用的。

看了“cpu使用率如何計算 ”文章的還看了:

1.cpu正常使用率多少

2.快速查看CPU使用率方法

3.CPU使用率多少才正常

4.cpu占用多少算過高

5.CPU使用率高該怎么辦

6.CPU經常出現使用率100%解決方法

7.如何解決Windows7系統(tǒng)里CPU使用率過高問題

cpu使用率如何計算

我們電腦的cpu使用率你會計算嗎?其實也不難的!下面由學習啦小編給你做出詳細的介紹!希望對你有幫助! cpu使用率計算方法一 使用CPU的處理能力基準計算實時CPU占用率 具體描述: (1) 在RTOS系統(tǒng)啟動前, 使用Tick中斷測試CPU的處理能力基準
推薦度:
點擊下載文檔文檔為doc格式
893453