科学计算, 生活

使用Python实现CPU使用率的监控记录

目前好像没找到比较简洁的 CPU 使用率记录的方法。本篇使用 Python 自制了一个 CPU 使用率的监控软件,这里给出操作步骤,仅供参考。如果有兴趣,可以直接安装使用,或查看源码进行修改。

需要提前安装 Guan 软件包:https://py.guanjihuan.com。版本为>=0.1.125。安装命令为:

pip install --upgrade guan

在 D 盘新建文件夹“cpu_usage”,新建 cpu_usage.py 文件,写入代码:

import guan
guan.write_cpu_information_to_file(filename='./cpu_usage', interval=1, sleep_interval=29, times=120)

该代码默认为 30 秒记录一个数据,120 个数据写入一次文件,即一个小时写入文件一次,无限循环运行。如果需要快速测试,可以把 sleep_interval 和 times 的数值减小。如果不需要高频率记录,例如 60 秒记录一次,一个小时写入文件一次,那么参数可以设置为 interval=1, sleep_interval=59, times=60。

数据存放在当前文件夹中的 cpu_usage.txt 中。数据文件中的第一列为日期,第二列为时间,第三列为平均 CPU 使用率,第四列为 CPU 使用率最大值,之后几列为各自 CPU 核心的使用率。如果有 8 个CPU核心,那么总共有 12 列。

占用空间:默认为一小时 120 行数据,约为 12 k。一天 24 小时,为 12*24=288k。一个月 30 天,为 288*30=8640k,约为 9M。一年 12 个月,9*12=108M。另外,当电脑或服务器处于睡眠或休眠状态时,程序为自动暂停运行,继续使用时程序会继续运行,因此一年总的占用空间为小于 100M。该占用空间的大小为可接受范围,且也可以不定期自行删除数据文件。

为了长期使用时,单个文件大小不至于过大,这里给出一个简单修改后的代码,数据以运行时的当天日期为一个文件进行存放,供参考:

import guan
start_date = guan.get_date()
guan.write_cpu_information_to_file(filename='./cpu_usage_'+start_date, interval=1, sleep_interval=29, times=120)

运行程序:

python cpu_usage.py

结束按键:Ctrl+C,或直接关闭当前终端。

如果需要在后台运行,命令为:

pythonw cpu_usage.py

在 Windows 系统下,如果需要关闭该后台程序,打开任务管理器,结束“Python”进程。更加精准的关闭方法是:打开任务管理器 -> 性能 -> 右上角的资源监视器 -> CPU -> 在关联的句柄中搜索“cpu_usage”-> 结束对应的“Pythonw.exe”进程。

说明:以上运行命令需要在开机后手动运行,或者也可以自己设置运行脚本放在开机自启中。

画图查看使用率(默认为查看最近的 120 个数据):

import guan
guan.plot_cpu_information(filename='./cpu_usage', recent_num=120, max_cpu=0)
guan.plot_cpu_information(filename='./cpu_usage', recent_num=120, max_cpu=1)
guan.plot_detailed_cpu_information(filename='./cpu_usage', recent_num=120)

大概的显示结果:

86 次浏览

【说明:本站主要是个人的一些笔记和代码分享,内容可能会不定期修改。为了使全网显示的始终是最新版本,这里的文章未经同意请勿转载。引用请注明出处:https://www.guanjihuan.com

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

Captcha Code