python计算cpu利用率 iowait百分比

计算方式参考文档:http://www.jianshu.com/p/0ec1ea49f4a3

! /usr/bin/env python

coding:utf8

import commands
import time
def get_cpu_value():
current_cpu_value={}
cpu_info_stat=commands.getoutput("cat /proc/stat")
cpu_info=cpu_info_stat.split('\n')[0].split()
cpu_info.pop(0)
current_cpu_value["cpu_idle"]=float(cpu_info[3])
current_cpu_value["iowait"]=float(cpu_info[4])
current_cpu_value["cpu_all"]=sum([float(i) for i in cpu_info])
return current_cpu_value

def cpuinfo():
last_cpu_value=get_cpu_value()
time.sleep(60)
current_cpu_value=get_cpu_value()
idle_percent=(current_cpu_value["cpu_idle"]-last_cpu_value["cpu_idle"])/(current_cpu_value["cpu_all"]-last_cpu_value["cpu_all"])
io_percent=(current_cpu_value["iowait"]-last_cpu_value["iowait"])/(current_cpu_value["cpu_all"]-last_cpu_value["cpu_all"])
last_cpu_value=current_cpu_value
return '%0.2f' % (1-idle_percent),'%0.2f' % (io_percent)

print cpuinfo()

你可能感兴趣的:(python计算cpu利用率 iowait百分比)