用 Python 写一个电脑监控程序("Python 实现电脑监控程序:全面掌握系统状态")
原创
一、引言
在现代社会,电脑已经成为我们生活和工作中不可或缺的工具。对于电脑用户来说,了解电脑的运行状态、性能指标以及资源使用情况至关重要。本文将介绍怎样使用 Python 编写一个电脑监控程序,帮助用户全面掌握系统状态。
二、监控程序功能概述
电脑监控程序核心包括以下功能:
- 实时显示CPU使用率
- 实时显示内存使用情况
- 实时显示磁盘使用情况
- 实时显示网络流量
- 实时显示系统负载
三、实现方法
下面我们将详细介绍怎样使用 Python 实现上述功能。
3.1 使用psutil库获取系统信息
psutil 是一个跨平台库(运行在 Windows、Linux、OSX、FreeBSD 和 Sun Solaris 上),用于获取进程和系统利用率(CPU、内存、磁盘、网络)信息。它核心用于系统监控、分析和约束系统资源及管理运行的进程。
pip install psutil
3.2 获取CPU使用率
使用 psutil.cpu_percent() 函数可以获取CPU使用率。
import psutil
cpu_usage = psutil.cpu_percent(interval=1)
print(f"CPU 使用率:{cpu_usage}%")
3.3 获取内存使用情况
使用 psutil.virtual_memory() 函数可以获取内存使用情况。
memory = psutil.virtual_memory()
print(f"内存总量:{memory.total / (1024 ** 3):.2f} GB")
print(f"已使用内存:{memory.used / (1024 ** 3):.2f} GB")
print(f"内存使用率:{memory.percent}%")
3.4 获取磁盘使用情况
使用 psutil.disk_usage() 函数可以获取磁盘使用情况。
disk = psutil.disk_usage('/')
print(f"磁盘总量:{disk.total / (1024 ** 3):.2f} GB")
print(f"已使用磁盘:{disk.used / (1024 ** 3):.2f} GB")
print(f"磁盘使用率:{disk.percent}%")
3.5 获取网络流量
使用 psutil.net_io_counters() 函数可以获取网络流量。
net_io = psutil.net_io_counters()
print(f"已发送字节数:{net_io.bytes_sent / (1024 ** 2):.2f} MB")
print(f"已接收字节数:{net_io.bytes_recv / (1024 ** 2):.2f} MB")
3.6 获取系统负载
使用 os.getloadavg() 函数可以获取系统负载。
import os
load_avg = os.getloadavg()
print(f"1分钟平均负载:{load_avg[0]}")
print(f"5分钟平均负载:{load_avg[1]}")
print(f"15分钟平均负载:{load_avg[2]}")
四、整合代码
将以上功能整合到一个 Python 程序中,即可实现一个简洁的电脑监控程序。
import psutil
import os
def get_cpu_usage():
return psutil.cpu_percent(interval=1)
def get_memory_usage():
memory = psutil.virtual_memory()
return memory.total / (1024 ** 3), memory.used / (1024 ** 3), memory.percent
def get_disk_usage():
disk = psutil.disk_usage('/')
return disk.total / (1024 ** 3), disk.used / (1024 ** 3), disk.percent
def get_network_io():
net_io = psutil.net_io_counters()
return net_io.bytes_sent / (1024 ** 2), net_io.bytes_recv / (1024 ** 2)
def get_system_load():
load_avg = os.getloadavg()
return load_avg[0], load_avg[1], load_avg[2]
def display_system_info():
cpu_usage = get_cpu_usage()
memory_total, memory_used, memory_percent = get_memory_usage()
disk_total, disk_used, disk_percent = get_disk_usage()
net_io_sent, net_io_recv = get_network_io()
system_load_1m, system_load_5m, system_load_15m = get_system_load()
print(f"CPU 使用率:{cpu_usage}%")
print(f"内存总量:{memory_total:.2f} GB,已使用内存:{memory_used:.2f} GB,内存使用率:{memory_percent}%")
print(f"磁盘总量:{disk_total:.2f} GB,已使用磁盘:{disk_used:.2f} GB,磁盘使用率:{disk_percent}%")
print(f"已发送字节数:{net_io_sent:.2f} MB,已接收字节数:{net_io_recv:.2f} MB")
print(f"1分钟平均负载:{system_load_1m},5分钟平均负载:{system_load_5m},15分钟平均负载:{system_load_15m}")
if __name__ == "__main__":
display_system_info()
五、总结
本文介绍了怎样使用 Python 编写一个电脑监控程序,通过调用 psutil 库和操作系统 API 获取系统状态信息,并整合到一个简洁的 Python 程序中。通过这个监控程序,用户可以实时了解电脑的运行状态,包括 CPU 使用率、内存使用情况、磁盘使用情况、网络流量和系统负载等。这对于维护电脑性能、排查问题以及优化系统配置都非常有帮助。