编程学习网 > 编程语言 > Python > Python 的 psutil 模块:监控系统资源的利器
2024
03-20

Python 的 psutil 模块:监控系统资源的利器

在开发和管理复杂的应用程序时,了解系统资源的使用情况对于优化性能和排查问题至关重要。Python 的 psutil 模块提供了一种简单而强大的方法来监控系统资源,包括 CPU、内存、磁盘、网络等。本文将全面介绍 psutil 模块的各种功能和用法,并提供丰富的示例代码,帮助更好地利用这个强大的工具。


psutil 模块概述
psutil(Python System and Process Utilities)是一个跨平台的 Python 库,用于检索有关运行中计算机系统进程和系统利用率(CPU、内存、磁盘、网络等)的信息。它提供了一个简单而高效的接口,可以帮助开发者轻松地监控和管理系统资源。

安装 psutil
在使用 psutil 之前,首先需要安装该模块。可以使用 pip 工具进行安装:

pip install psutil
安装完成后,即可在 Python 中导入 psutil 模块开始使用。

CPU 相关功能
psutil 提供了丰富的功能来监控和管理 CPU 使用情况。

1. 获取 CPU 核心数
import psutil

cpu_count = psutil.cpu_count()
print("CPU 核心数:", cpu_count)
2. 获取 CPU 使用率
import psutil
import time

while True:
    cpu_percent = psutil.cpu_percent(interval=1)
    print("CPU 使用率:", cpu_percent)
    time.sleep(1)
内存相关功能
psutil 还可以获取系统内存的使用情况。

1. 获取内存总量
import psutil

total_memory = psutil.virtual_memory().total
print("总内存:", total_memory, "bytes")
2. 获取可用内存
import psutil

available_memory = psutil.virtual_memory().available
print("可用内存:", available_memory, "bytes")
磁盘相关功能
psutil 可以获取磁盘的使用情况,包括磁盘总量、磁盘使用量等。

1. 获取磁盘分区信息
import psutil

disk_partitions = psutil.disk_partitions()
for partition in disk_partitions:
    print(partition.device, partition.mountpoint)
2. 获取磁盘使用情况
import psutil

disk_usage = psutil.disk_usage('/')
print("磁盘总量:", disk_usage.total)
print("已使用:", disk_usage.used)
print("可用:", disk_usage.free)
网络相关功能
psutil 还可以获取网络的使用情况,包括网络连接信息、网络流量等。

1. 获取网络连接信息
import psutil

connections = psutil.net_connections()
for conn in connections:
    print(conn)
2. 获取网络流量信息
import psutil

net_io_counters = psutil.net_io_counters()
print("发送字节数:", net_io_counters.bytes_sent)
print("接收字节数:", net_io_counters.bytes_recv)
进程相关功能
psutil 还可以获取和管理系统中运行的进程信息。

1. 获取所有进程列表
import psutil

processes = psutil.process_iter()
for process in processes:
    print(process.pid, process.name())
2. 获取指定进程信息
import psutil

process = psutil.Process(1234)  # 替换为指定的进程 ID
print("进程名称:", process.name())
print("进程状态:", process.status())
print("进程启动时间:", process.create_time())
异常处理
在使用 psutil 时,可能会遇到一些异常情况,如权限不足等。因此,在编写代码时,务必进行异常处理。

import psutil

try:
    disk_usage = psutil.disk_usage('/')
    print("磁盘总量:", disk_usage.total)
except PermissionError as e:
    print("权限不足:", e)
总结

Python 的 psutil 模块为开发者提供了一种简单而强大的方法来监控和管理系统资源。通过使用 psutil,可以轻松地获取有关 CPU、内存、磁盘、网络等方面的信息,并对系统进程进行管理。建议开发者在编写 Python 应用程序时,充分利用 psutil 提供的各种功能,以提高系统监控和管理的效率和可靠性。

以上就是Python 的 psutil 模块:监控系统资源的利器的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取