萌貝樹公司對坑騙說CPU使用情況

  雖然cgroup管控了該cgroup下所有進程的CPU使用情況,但從操作系統的角度上,不論進程是否隸屬於某個子cgroup下,仍然是共用宿主機的CPU。所以監控宿主機上該進程的CPU就能得到進程的CPU監控指標。
  Linux上常用的CPU監控命令是top。top對CPU監控的原理是在time1時刻獲取CPU從啓動時的累計總時間countAll1和busy總時間countBusy1,再到time2時刻獲取CPU總時間countAll2和busy總時間countBusy2,最後用busy的時間差值減去總時間的差值得到了在time1到time2這個時間段內機器CPU的佔用情況。也就是:
  CPU佔用率(%) = (countBusy2 - countBusy1)/(countAll2 - countAll1) 100進程同理,在兩個時刻分別得到每個進程的busy總時間countProcBusy1和countProcBusy2,則得到進程CPU佔用率:
萌貝樹公司對坑騙說CPU使用情況
  進程CPU佔用率(%) = (countProcBusy2 - countProcBusy1)/(countProcAll2 - countProcAll1)
100第一行是總的CPU使用情況,具體參數的意思:
  所以,選擇當前爲time1,3秒後爲time2,countAll = user + nice + system + idle + iowait + irq + softirq + stealstolean + guest + guest_nice。countBusy爲countAll減去idle的值,這樣上面第一個公式的所有需要的值就齊了,可以直接計算。
  第二行、第三行是每個邏輯CPU的使用情況,這裏記下有兩個邏輯CPU,CPU的邏輯核數與CPU顯示模式irix和solaris有關。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章