【Python太牛了】一款强大的实时监控 CPU使用率 专业工具新鲜出炉啦~

导语

 哈喽!大家好,我是木木子!准时上线给大家更新啦!

Ps:小故事

前两天有位粉丝朋友在群里问我说,有没有不装一些我们熟知的电脑管理软件但是依然可以查看

CPU的使用率方法,或者能够介绍一款比较给力的小插件也好。确实,在生活中有不少人是不喜欢

装那些管理软件的。

今天,木木子就给大家介绍一款手写编程代码的小脚本,能够轻松在界面上展示:利用Python实

时监控CPU使用率。

随时展现,也无需下载管理软件,几十行代码即可搞定~

所有文章完整的素材+源码都在

粉丝白嫖源码福利,请移步至CSDN社区

​​

正文

一、模块简介

1.0 关于模块的详细用法参考

psutil文档:https://psutil.readthedocs.io/en/latest/
matplotlib文档:https://matplotlib.org/users/index.html

1.1 用到psutil模块

小介绍:

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等操作系统。

1.2 用到matplotlib模块

小介绍:

Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量

级别的图形。通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,

条形图,错误图,散点图等。

二、准备中

2.1 相关环境

Python3.6、Pycharm。相关模块:matplotlib模块;psutil模块。

2.2 安装

这里小编统一使用:pip install -i https://pypi.douban.com/simple/+模块名

三、开始敲代码

3.1 代码内容

利用Python实时监控CPU使用率:

  • 执行用户进程
  • 执行内核进程和中断
  • CPU处于空闲状态

主要是这三个方面的代码编写过程。

3.2 附完整代码

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()

四、效果展示

4.1 动态视频展示——

利用Python实时监控CPU使用率!

4.2 静态截图展示——

【Python太牛了】一款强大的实时监控 CPU使用率 专业工具新鲜出炉啦~_第1张图片

​总结

嘻嘻,文章到这里就结束啦,粉丝拿到这个代码之后感觉这款小工具还是挺实用滴,有爱的小伙伴

儿可以找我拿源码,放心食用~

完整的免费源码领取处:找我吖!文末可得自行领取,滴滴我也可!

往期部分文章推荐——

项目1.3  视频播放器

用了都说好的Python专属无广告视频播放器,良心到想为它疯狂打call

项目3.2  自动换壁纸

【Python高级技能】超炫酷,电脑每天自动换壁纸,这个神器适合你。

 项目3.3  艺术字签名

【艺术字签名生成器】】试卷家长签字居然被嫌弃了|“我觉得我还能再抢救一下,你看行嘛?“

项目 3.9  码住雪景漫天飘雪小程序

【Python码住雪景小程序】雪景人像最强攻略:让你一下美10倍、美醉了(中国人不骗中国人)

项目 4.0 GIF制作神奇(斗罗大陆为例)

【Python神器】推荐这款傻瓜式GIF制作工具,以后别再说不会了(好用到爆~)

文章汇总——

项目1.0 Python—2021 |已有文章汇总 | 持续更新,直接看这篇就够了

(更多内容+源码都在文章汇总哦!!欢迎阅读~)

【Python太牛了】一款强大的实时监控 CPU使用率 专业工具新鲜出炉啦~_第2张图片

你可能感兴趣的:(界面化小程序,python合集,程序员合集,python,cpu,小工具,cpu使用)