获取%cpu使用情况:这个脚本是否正确?

时间:2014-03-15 19:59:12

标签: python linux monitoring

我发现这个python脚本似乎可以完成这项工作,但我不知道它是否真的是正确的,而且我不能在最后几行解释自己。

背后的理论很清楚:你总结了cpu所花费的用户,系统和i / o时间,并将它除以相同的总和加上空闲时间。这会给你一个cpu负载的百分比。

我不需要100%准确的测量,但只是暗示了真正的%cpu使用情况。

import time

TIMEFORMAT = "%m/%d/%y %H:%M:%S"
INTERVAL = 2

def getTimeList():
   statFile = file("/proc/stat", "r")
   timeList = statFile.readline().split(" ")[2:6]
   statFile.close()
   for i in range(len(timeList))  :
     timeList[i] = int(timeList[i])

   return timeList

def deltaTime(interval)  :
   x = getTimeList()
   time.sleep(interval)
   y = getTimeList()
   for i in range(len(x))  :
      y[i] -= x[i]
   return y

if __name__ == "__main__"  :
   while True  :
      dt = deltaTime(INTERVAL)
      timeStamp = time.strftime(TIMEFORMAT)
      cpuPct = 100 - (dt[len(dt) - 1] * 100.00 / sum(dt)) #why 100 - ?
      print timeStamp + "\t" + str('%.4f' %cpuPct) 

1 个答案:

答案 0 :(得分:0)

100是100%。表达式产生空闲时间,你想要时间忙。减去100。

相关问题