學習啦 > 學習電腦 > 電腦硬件知識 > CPU知識 > 多核CPU的利用率怎么計算

多核CPU的利用率怎么計算

時間: 捷鋒774 分享

多核CPU的利用率怎么計算

  中央處理器(CentralProcessingUnit)的縮寫,即CPU,CPU是電腦中的核心配件,只有火柴盒那么大,幾十張紙那么厚,但它卻是一臺計算機的運算核心和控制核心。下面是學習啦小編帶來的關于多核CPU的利用率怎么計算的內(nèi)容,歡迎閱讀!

  多核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%

  評價:

  這個算法只適用于工控, 電信等對不需要使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占用率的貢獻 = 一個周期內(nèi)該任務被采樣到的次數(shù) / tickIntFrequance * 100%

  評價:

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

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

  具體描述:

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

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

  Task1, 換出動作:

  task1的結(jié)束運行時間 = AUXTimer的當前值

  task1的總運行時間 = task1的總運行時間 + task1的結(jié)束運行時間 - task1的開始運行時間

  Task2, 換入動作:

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

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

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

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

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

看了多核CPU的利用率怎么計算文章內(nèi)容的人還看:

1.Linux top命令查看多核CPU每個核心的使用率

2.linux下如何看每個CPU的使用率

3.Linux平臺Cpu使用率的計算

4.linux怎么查看cpu的使用率問題

5.Linux 多核CPU的知識

6.CPU怎么查看

7.如今最值得買的CPU推薦

8.什么是多核處理器

615454