我发现这个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)
答案 0 :(得分:0)
100是100%。表达式产生空闲时间,你想要时间忙。减去100。