用 Python 写一个电脑监控程序("Python 实现电脑监控程序:全面掌握系统状态")

原创
ithorizon 6个月前 (10-20) 阅读数 24 #后端开发

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 使用率、内存使用情况、磁盘使用情况、网络流量和系统负载等。这对于维护电脑性能、排查问题以及优化系统配置都非常有帮助。


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: 后端开发


热门