亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦>學(xué)習(xí)電腦>選購與維護(hù)>選購指南>

      aix如何計(jì)算cpu使用率

      時(shí)間: 林輝766 分享

        aix是怎么樣計(jì)算cpu使用率的呢!小編來教你!下面由學(xué)習(xí)啦小編給你做出詳細(xì)的aix計(jì)算cpu使用率方法介紹!希望對你有幫助!

        aix計(jì)算cpu使用率方法一:

        使用CPU的處理能力基準(zhǔn)計(jì)算實(shí)時(shí)CPU占用率

        具體描述:

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

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

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

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

        優(yōu)點(diǎn):

        (1) 實(shí)現(xiàn)簡單

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

        (3) 不占用硬件資源

        缺點(diǎn):

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

        (2) 不能得到系統(tǒng)中每個(gè)任務(wù)對CPU占用率的貢獻(xiàn)

        (3) 必須有一個(gè)空閑任務(wù)才能計(jì)算

        評價(jià):

        這個(gè)算法只適用于工控, 電信等對不需要使CPU進(jìn)入掉電保護(hù)模式的領(lǐng)域.

        方法2: 在Tick中斷中對RTOS中的任務(wù)進(jìn)行采樣

        具體描述:

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

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

        RealTime CPU Load = haltTimes / tickIntFrequance

        某個(gè)任務(wù)對CPU占用率的貢獻(xiàn) = 一個(gè)周期內(nèi)該任務(wù)被采樣到的次數(shù) / tickIntFrequance * 100%

        優(yōu)點(diǎn):

        (1) 實(shí)現(xiàn)簡單

        (2) 支持CPU掉電模式

        (3) 可以大致得到每個(gè)任務(wù)對CPU占用率的貢獻(xiàn)

        缺點(diǎn):

        (1) 誤差取決于Tick的頻率和OS中每個(gè)任務(wù)的運(yùn)行時(shí)長, 因此誤差非常大

        評價(jià):

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

        方法3: 精確計(jì)算每個(gè)任務(wù)對CPU占用率的貢獻(xiàn)

        具體描述:

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

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

        Task1, 換出動(dòng)作:

        task1的結(jié)束運(yùn)行時(shí)間 = AUXTimer的當(dāng)前值

        task1的總運(yùn)行時(shí)間 = task1的總運(yùn)行時(shí)間 + task1的結(jié)束運(yùn)行時(shí)間 - task1的開始運(yùn)行時(shí)間

        Task2, 換入動(dòng)作:

        task2的開始運(yùn)行時(shí)間 = AUXTimer的當(dāng)前值

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

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

        某個(gè)任務(wù)對CPU占用率的貢獻(xiàn) = 一個(gè)周期內(nèi)該任務(wù)的總運(yùn)行時(shí)間 / 一個(gè)周期內(nèi)的總時(shí)間

        RealTime CPU Load = 所有任務(wù)的CPU占用率之和

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

        優(yōu)點(diǎn):

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

        缺點(diǎn):

        (1) 復(fù)雜, 加大了任務(wù)切換時(shí)的開銷

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

        aix計(jì)算cpu使用率方法二:

        需要兩個(gè)進(jìn)程,一個(gè)為idle進(jìn)程;一個(gè)為統(tǒng)計(jì)進(jìn)程。

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

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

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

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

        再來介紹下CPU使用率:

        CPU使用率其實(shí)就是運(yùn)行的程序占用的CPU資源,表示機(jī)器在某個(gè)時(shí)間點(diǎn)的運(yùn)行程序的情況。

        使用率越高,說明機(jī)器在這個(gè)時(shí)間上運(yùn)行了很多程序,反之較少。使用率的高低與CPU強(qiáng)弱有直接關(guān)系?,F(xiàn)代分時(shí)多任務(wù)操作系統(tǒng)對 CPU 都是分時(shí)間片使用的。

        

        看了“aix如何計(jì)算cpu使用率 ”文章的還看了:

      1.如何查看AIX的物理內(nèi)存大小

      2.淺談?dòng)?jì)算機(jī)虛擬化技術(shù)論文

      880222