欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Linux中計(jì)算特定CPU使用率的方法-創(chuàng)新互聯(lián)

這篇文章主要介紹了Linux中計(jì)算特定CPU使用率的方法,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

目前創(chuàng)新互聯(lián)已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、麻江網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

Linux中計(jì)算特定CPU使用率的方法:首先從【/proc/stat】中獲取 t1時(shí)刻系統(tǒng)總體的值;然后從【/proc/stat】中獲取t2時(shí)刻系統(tǒng)總的值;最后計(jì)算t2與t1之間系統(tǒng)總的CPU使用情況。

Linux中計(jì)算特定CPU使用率的方法

Linux中計(jì)算特定CPU使用率的方法:

1. 背景知識(shí)

在/proc/stat中可以查看每一個(gè)CPU的使用情況的,如下圖:

Linux中計(jì)算特定CPU使用率的方法

其中cpu(0/1/2/…)后面的那十個(gè)數(shù)字含義如下:

/proc/stat
kernel/system statistics.  Varies with architecture.  
Common entries include:
     user nice system idle iowait  irq  softirq steal guest guest_nice
cpu  4705 356  584    3699   23    23     0       0     0        0
cpu0 1393280 32966 572056 13343292 6130 0 17875 0 23933 0
   The amount of time, measured in units of USER_HZ
   (1/100ths of a second on most architectures, use
   sysconf(_SC_CLK_TCK) to obtain the right value), that
   the system ("cpu" line) or the specific CPU ("cpuN"
   line) spent in various states:
   user   (1) Time spent in user mode.
   nice   (2) Time spent in user mode with low priority
          (nice).
   system (3) Time spent in system mode.
   idle   (4) Time spent in the idle task.  This value
          should be USER_HZ times the second entry in the
          /proc/uptime pseudo-file.
   iowait (since Linux 2.5.41)
          (5) Time waiting for I/O to complete.  This
          value is not reliable, for the following rea‐
          sons:
          1. The CPU will not wait for I/O to complete;
             iowait is the time that a task is waiting for
             I/O to complete.  When a CPU goes into idle
             state for outstanding task I/O, another task
             will be scheduled on this CPU.
          2. On a multi-core CPU, the task waiting for I/O
             to complete is not running on any CPU, so the
             iowait of each CPU is difficult to calculate.
          3. The value in this field may decrease in cer‐
             tain conditions.
   irq (since Linux 2.6.0-test4)
          (6) Time servicing interrupts.
   softirq (since Linux 2.6.0-test4)
          (7) Time servicing softirqs.
   steal (since Linux 2.6.11)
          (8) Stolen time, which is the time spent in
          other operating systems when running in a virtu‐
          alized environment
   guest (since Linux 2.6.24)
          (9) Time spent running a virtual CPU for guest
          operating systems under the control of the Linux
          kernel.
   guest_nice (since Linux 2.6.33)
          (10) Time spent running a niced guest (virtual
          CPU for guest operating systems under the con‐
          trol of the Linux kernel).

2.計(jì)算具體CPU使用率

有了上面的背景知識(shí),接下來(lái)我們就可以計(jì)算具體CPU的使用情況了。具體計(jì)算方式如下:

Total CPU time since boot = user+nice+system+idle+iowait+irq+softirq+steal
Total CPU Idle time since boot = idle + iowait
Total CPU usage time since boot = Total CPU time since boot - Total CPU Idle time since boot
Total CPU percentage = Total CPU usage time since boot/Total CPU time since boot * 100%

有了上面的計(jì)算公式,計(jì)算某一CPU使用率或者系統(tǒng)總的CPU占用率也就是不難了。

示例:計(jì)算系統(tǒng)整體CPU占用情況

首先從/proc/stat中獲取 t1時(shí)刻系統(tǒng)總體的user、nice、system、idle、iowait、irq、softirq、steal、guest、guest_nice的值,得到此時(shí)Total CPU time since boot(記為total1)和 Total CPU idle time since boot(記為idle1)。

其次,從/proc/stat中獲取t2時(shí)刻系統(tǒng)總的Total CPU time since boot(記為total2)和Total CPU idle time since boot(記為idle2)。(方法同上一步)

最后,計(jì)算t2與t1之間系統(tǒng)總的CPU使用情況。也就是:

CPU percentage between t1 and t2 = ((total2-total1)-(idle2-idle1))/(total2-total1)* 100%

其中, ((total2-total1)-(idle2-idle1))實(shí)際上就是t1與t2時(shí)刻之間系統(tǒng)CPU被占用的時(shí)間(總時(shí)間 - 空閑時(shí)間)。

下面是一段計(jì)算時(shí)間段內(nèi)CPU被占用情況的腳本:

#!/bin/bash
# by Paul Colby (http://colby.id.au), no rights reserved ;)
PREV_TOTAL=0
PREV_IDLE=0
while true; do
  # Get the total CPU statistics, discarding the 'cpu ' prefix.
  CPU=(`sed -n 's/^cpu\s//p' /proc/stat`)
  IDLE=${CPU[3]} # Just the idle CPU time.
  # Calculate the total CPU time.
  TOTAL=0
  for VALUE in "${CPU[@]}"; do
    let "TOTAL=$TOTAL+$VALUE"
  done
  # Calculate the CPU usage since we last checked.
  let "DIFF_IDLE=$IDLE-$PREV_IDLE"
  let "DIFF_TOTAL=$TOTAL-$PREV_TOTAL"
  let "DIFF_USAGE=(1000*($DIFF_TOTAL-$DIFF_IDLE)/$DIFF_TOTAL+5)/10"
  echo -en "\rCPU: $DIFF_USAGE%  \b\b"
  # Remember the total and idle CPU times for the next check.
  PREV_TOTAL="$TOTAL"
  PREV_IDLE="$IDLE"
  # Wait before checking again.
  sleep 1
done

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享Linux中計(jì)算特定CPU使用率的方法內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,遇到問(wèn)題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!

分享題目:Linux中計(jì)算特定CPU使用率的方法-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)網(wǎng)址:http://aaarwkj.com/article2/ddohic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航網(wǎng)站制作、全網(wǎng)營(yíng)銷推廣微信公眾號(hào)、網(wǎng)站營(yíng)銷、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
日韩精品在线免费观看了| 亚洲成人免费在线一区| 色综合天天综合天天更新| 中文字幕一区侵犯人妻| 欧美亚洲清纯唯美另类| 日本中文字幕乱码一区| 亚洲av成人永久网站一区| 亚洲成人免费电影91| 麻豆精品国产粉嫩av| 亚洲视频欧美视频自拍偷拍| 国产麻豆剧传媒国产av| 五十路八十路息与子交尾| 亚洲熟女内射特写一区| 乱码人妻精品一区二区三区| 久久精品亚洲av三区麻豆| 国产福利成人一区二区| 欧美午夜福利在线电影| 男人天堂av在线资源| 亚洲国产日韩精品欧美| 国产熟女肥臀精品国产馆乱| 久久亚洲av麻衣北条麻妃| 亚洲av午夜福利麻豆av| 亚洲限制级电影一区二区| 韩国电视剧大全免费国语观看| 日韩一区二区三区91| 岛国大片日韩在线观看| 国产特级黄片免费观看| 日本一级黄色影视大全| 亚洲成人久久久av一区| 熟女乱熟乱熟妇综合网二区| 久久99国产综合精品女同| 国产欧美日韩在线高清| 国产三级全黄在线播放| 中文岳妇荡欲丰满肥熟| 亚洲熟女精品不卡一区二区| 久久国产精品亚洲熟女66r| 青青草原一区二区三区| 91在线播放国产视频| av天堂高清在线观看| 91九色在线精品一区| 国产在线一区二区三区蜜桃|