用python绘制cpu曲线
2013-04-14 19:03
375 查看
周末没事画个cpu曲线
热心网友们都不给力,也没个例子给参考下子
先上代码
其中sys.popen用来执行shell命令,和sys.system的区别是,system会直接打印信息而popen会返回信息的对象
re模块,用正则表达式提取/proc/stat中的数字,其中正则部分可以参考谷歌教程
CPU利用率通过/proc/stat提供的数据进行计算
其中计算的公式参考这里,解释的很清楚,主要是因为执行top实在是有点慢
最后用matplotlib模块绘图,本来是想画实时的,但一画图过后,程序就中断了,改日再想想办法
绘图示例的可以参考这里,其实和matlab画差不多
最后来张结果图
图片略丑,各位不要嫌弃啊,明天又要滚去学校了,诶。。。
热心网友们都不给力,也没个例子给参考下子
先上代码
#encoding=utf-8 import os,time,re import matplotlib.pyplot as plt import sys begin = time.time() pattern = re.compile("\d+") time2sleep = 2.5 x = [] y = [] t = 0 totaltime =float(sys.argv[1]) if len(sys.argv)>1 else 10.0 print totaltime while totaltime>=0: # cpuInfo = os.popen('top -bi -n 2 -d 0.01').read().split('\n\n\n')[1].split('\n')[2] # items = pattern.findall(cpuInfo) # usage =float(items[0]) +float(items[1])+float(items[2]) # top巨慢,果断直接从/proc/stat搞起 info1 = os.popen("cat /proc/stat").readline() ct1 = pattern.findall(info1) sum1 = 0 for i in ct1: sum1 += int(i) time.sleep(0.1) info2 = os.popen("cat /proc/stat").readline() ct2 = pattern.findall(info2) sum2 = 0 for i in ct2: sum2 += int(i) usage = (int(ct2[0])+int(ct2[2])-int(ct1[0])-int(ct1[2]))*1.0/(sum2-sum1)*100 print usage,"%" y.append(usage) now = time.time()-begin x.append(now) totaltime = totaltime - 0.1 end = time.time() print (end-begin) plt.plot(x,y) plt.title("CPU Usage Rate") plt.xlabel("time/s") plt.ylabel("percentage/%") plt.show()
其中sys.popen用来执行shell命令,和sys.system的区别是,system会直接打印信息而popen会返回信息的对象
re模块,用正则表达式提取/proc/stat中的数字,其中正则部分可以参考谷歌教程
CPU利用率通过/proc/stat提供的数据进行计算
其中计算的公式参考这里,解释的很清楚,主要是因为执行top实在是有点慢
最后用matplotlib模块绘图,本来是想画实时的,但一画图过后,程序就中断了,改日再想想办法
绘图示例的可以参考这里,其实和matlab画差不多
最后来张结果图
图片略丑,各位不要嫌弃啊,明天又要滚去学校了,诶。。。
相关文章推荐
- Python绘制CPU曲线图
- Julia曲线绘制-——CPU版本与GPU版本对比
- Python绘制KS曲线的实现方法
- Python 如何获取Android应用内存使用和CPU占用信息,并且时时展示曲线图形。
- Caffe学习:绘制loss和accuracy曲线(使用caffe的python接口)
- Python使用matplotlib绘制三维曲线
- Python:如何使用jupyter绘制caffe训练过程中的loss和accuracy曲线?n
- python matplotlib 绘制双Y轴曲线图
- pyqt中使用matplotlib绘制动态曲线 – pythonic
- python 导出 Caffe 结果并绘制 ROC 曲线
- 7062-1.Python数据可视化:简单的曲线绘制
- caffe 利用python绘制loss曲线以及accuracy曲线
- python读取文本绘制动态速度曲线
- python绘制precision-recall曲线、ROC曲线
- windows_caffe_log绘制accuracy和loss曲线(python3)
- 用Python 2.7进行科学计算与曲线绘制
- python 读取目录下csv文件并绘制曲线v111
- 编程之美读书笔记1-CPU占用率曲线的绘制
- Python图形绘制操作之正弦曲线实现方法分析
- 【python图像处理】直线和曲线的拟合与绘制(curve_fit()详解)