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

272811b3b09d00ddf0e13eeea19efdf4.png

更多Python学习内容:ipengtao.com

在开发和管理复杂的应用程序时,了解系统资源的使用情况对于优化性能和排查问题至关重要。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学习内容:ipengtao.com


如果想要系统学习Python、Python问题咨询,或者考虑做一些工作以外的副业,都可以扫描二维码添加微信,围观朋友圈一起交流学习。

70153c228c948bc5eebcd2c6c4be04dd.gif

我们还为大家准备了Python资料和副业项目合集,感兴趣的小伙伴快来找我领取一起交流学习哦!

de29c288b6ab74a061a1de732597ca44.jpeg

往期推荐

Python 中的 iter() 函数:迭代器的生成工具

Python 中的 isinstance() 函数:类型检查的利器

Python 中的 sorted() 函数:排序的利器

Python 中的 hash() 函数:哈希值的奥秘

Python 中的 slice() 函数:切片的利器

Python 的 tuple() 函数:创建不可变序列

点击下方“阅读原文”查看更多

  • 18
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值