• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學習啦>學習電腦>選購與維護>選購指南>

    CPU使用率是如何計算的

    時間: 黎正888 分享

      當我們的程序開得多了,CPU的使用率就會上升,那CPU使用率是如何計算的呢?下面就讓學習啦小編給大家說一下CPU使用率是如何計算的。

      CPU使用率的算法

      方法1: 使用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) 實現(xiàn)簡單

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

      1%

      (3) 不占用硬件資源

      缺點:

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

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

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

      評價:

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

      方法2: 在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) 實現(xiàn)簡單

      (2) 支持CPU掉電模式

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

      缺點:

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

      評價:

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

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

      具體描述:

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

      行一次累加.

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

      算法如下:

      Task1, 換出動作:

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

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

      Task2, 換入動作:

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

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

      (3) 周期性地計算CPU占用率, 一般每秒鐘計算一次, 并清除每個任務的總運行時間, 下面的公式中, 一個周期內的總時

      間等于AUXTimer周期除以Tick周期得到的倍數:

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

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

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

      優(yōu)點:

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

      缺點:

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

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

    CPU使用率是如何計算的相關文章

    1.cpu使用率如何計算

    2.cpu正常使用率多少

    3.如何查看cpu使用率

    4.服務器cpu使用率多少算正常

    5.CPU是如何進行運算的

    .

    CPU使用率是如何計算的

    當我們的程序開得多了,CPU的使用率就會上升,那CPU使用率是如何計算的呢?下面就讓學習啦小編給大家說一下CPU使用率是如何計算的。 CPU使用率的算法 方法1: 使用CPU的處理能力基準計算實時CPU占用率 具體描述: (1) 在RTOS系統(tǒng)啟動前, 使
    推薦度:
    點擊下載文檔文檔為doc格式

    精選文章

    • cpu是如何制造出來的
      cpu是如何制造出來的

      作為一個數碼愛好者,我想很多人都會好奇,CPU是如何被制造出來的呢?下面就讓學習啦小編給大家分享一下CPU是如何制造出來的。 CPU的制造過程 硅片制備

    • 如何安裝CPU
      如何安裝CPU

      DIY大家都知道是自己動手做的意思。CPU安裝到主板上是DIY組裝電腦最重要的一個環(huán)節(jié),如果沒有安裝好,整臺電腦就是組裝失敗的結果。下面就讓學習啦小

    • 臺式機如何換CPU
      臺式機如何換CPU

      臺式機升級CPU通常是比較有效的為電腦提升性能的方法 ,學習啦小編給大家介紹下?lián)Q裝CPU的過程。 臺式機更換cpu CPU的型號不同其接腳也不相同,所以升級

    • 臺式機CPU怎么涂硅膠
      臺式機CPU怎么涂硅膠

      人們在生活中對微小的細節(jié)有人重視有人忽視,每一個微小的細節(jié)可能就是一件事情或一個人成敗的關鍵。其實涂抹散熱硅脂也是一樣,不要把它看做是一

    1758651 主站蜘蛛池模板: 成在线人视频免费视频| 色吧亚洲欧美另类| 精品一区二区久久久久久久网站| 欧美色成人综合| 日本三级做a全过程在线观看| 国产精品一级片| 啊灬啊别停灬用力啊动视频| 亚洲天堂中文网| 一级做a爱片特黄在线观看yy| h视频在线免费| 看看黄色一级片| 日本韩国视频在线观看| 国产无套中出学生姝| 人禽伦免费交视频播放| 久久国产一久久高清| 99re在线视频精品| 老鸭窝毛片一区二区三区| 日本妈妈xxxxx| 国产色司机在线视频免费观看| 亚洲黄色免费看| 久9re热这里精品首页| 青草青草伊人精品视频| 日本护士撒尿xxxx18| 国产在线19禁免费观看| 久久精品影院永久网址| 91短视频在线免费观看| 欧美精品九九99久久在免费线| 在线播放亚洲美女视频网站 | 人人澡人人澡人人看添欧美| 三上悠亚大战黑人在线观看| 黑白高清在线观看| 欧美日韩福利视频一区二区三区| 嫩草影院在线免费观看| 国产AV国片精品有毛| 久久精品国产一区二区三区| 高清午夜看片a福利在线观看琪琪| 日韩在线观看高清| 国产一级毛片网站| 不卡无码人妻一区三区音频| 香蕉在线精品视频在线观看2 | 青青青手机视频在线观看|