哈喽!大家好,我是木木子!准时上线给大家更新啦!
前两天有位粉丝朋友在群里问我说,有没有不装一些我们熟知的电脑管理软件但是依然可以查看
CPU的使用率方法,或者能够介绍一款比较给力的小插件也好。确实,在生活中有不少人是不喜欢
装那些管理软件的。
今天,木木子就给大家介绍一款手写编程代码的小脚本,能够轻松在界面上展示:利用Python实
时监控CPU使用率。
随时展现,也无需下载管理软件,几十行代码即可搞定~
所有文章完整的素材+源码都在
粉丝白嫖源码福利,请移步至CSDN社区
psutil文档:https://psutil.readthedocs.io/en/latest/
matplotlib文档:https://matplotlib.org/users/index.html
小介绍:
psutil是一个跨平台库(http://code.google.com/p/psutil/),能够轻松实现获取系统运行的进程和
系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资
源及进程的管理。
它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、
nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。
目前支持32位和64位的Linux、Windows、OS X、FreeBSD和Sun Solaris等操作系统。
小介绍:
Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量
级别的图形。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,
条形图,错误图,散点图等。
Python3.6、Pycharm。相关模块:matplotlib模块;psutil模块。
这里小编统一使用:pip install -i https://pypi.douban.com/simple/+模块名
利用Python实时监控CPU使用率:
执行用户进程
执行内核进程和中断
CPU处于空闲状态
主要是这三个方面的代码编写过程。
import matplotlib.pyplot as plt
import matplotlib.font_manager as font_manager
import psutil as p
POINTS = 300
fig, ax = plt.subplots()
ax.set_ylim([0, 100])
ax.set_xlim([0, POINTS])
ax.set_autoscale_on(False)
ax.set_xticks([])
ax.set_yticks(range(0, 101, 10))
ax.grid(True)
# 执行用户进程的时间百分比
user = [None] * POINT
# 执行内核进程和中断的时间百分比
sys = [None] * POINT
# CPU处于空闲状态的时间百分比
idle = [None] * POINT
l_user, = ax.plot(range(POINTS), user, label='User %')
l_sys, = ax.plot(range(POINTS), sys, label='Sys %')
l_idle, = ax.plot(range(POINTS), idle, label='Idle %')
ax.legend(loc='upper center', ncol=4, prop=font_manager.FontProperties(size=10))
bg = fig.canvas.copy_from_bbox(ax.bbox)
def cpu_usage():
t = p.cpu_times()
return [t.user, t.system, t.idle]
before = cpu_usage()
def get_cpu_usage():
global before
now = cpu_usage()
delta = [now[i] - before[i] for i in range(len(now))]
total = sum(delta)
before = now
return [(100.0*dt)/(total+0.1) for dt in delta]
def OnTimer(ax):
global user, sys, idle, bg
tmp = get_cpu_usage()
user = user[1:] + [tmp[0]]
sys = sys[1:] + [tmp[1]]
idle = idle[1:] + [tmp[2]]
l_user.set_ydata(user)
l_sys.set_ydata(sys)
l_idle.set_ydata(idle)
while True:
try:
ax.draw_artist(l_user)
ax.draw_artist(l_sys)
ax.draw_artist(l_idle)
break
except:
pass
ax.figure.canvas.draw()
def start_monitor():
timer = fig.canvas.new_timer(interval=100)
timer.add_callback(OnTimer, ax)
timer.start()
plt.show()
if __name__ == '__main__':
start_monitor()
利用Python实时监控CPU使用率!
嘻嘻,文章到这里就结束啦,粉丝拿到这个代码之后感觉这款小工具还是挺实用滴,有爱的小伙伴
儿可以找我拿源码,放心食用~
项目1.3 视频播放器
用了都说好的Python专属无广告视频播放器,良心到想为它疯狂打call
项目3.2 自动换壁纸
【Python高级技能】超炫酷,电脑每天自动换壁纸,这个神器适合你。
项目3.3 艺术字签名
【艺术字签名生成器】】试卷家长签字居然被嫌弃了|“我觉得我还能再抢救一下,你看行嘛?“
项目 3.9 码住雪景漫天飘雪小程序
【Python码住雪景小程序】雪景人像最强攻略:让你一下美10倍、美醉了(中国人不骗中国人)
项目 4.0 GIF制作神奇(斗罗大陆为例)
【Python神器】推荐这款傻瓜式GIF制作工具,以后别再说不会了(好用到爆~)
项目1.0 Python—2021 |已有文章汇总 | 持续更新,直接看这篇就够了
(更多内容+源码都在文章汇总哦!!欢迎阅读~)