Python常用库-Psutil

本文介绍了Python的Psutil库,一个强大的跨平台系统监控库。它提供了CPU、内存、硬盘、网络等系统信息的获取,以及进程管理功能。Psutil优于os.system()、os.popen()和subprocess,使用更方便,返回结果易于处理。文章包含安装教程、功能示例及应用场景。
摘要由CSDN通过智能技术生成


背景

介绍一个处理进程的实用工具,这个是一个第三方库。应用主要有类似ps、cd、top,还有查看硬盘、内存使用情况等。
推荐的理由主要有 2 个,第一个是跨平台的,不管是OSX、Centos、Windows还是SUSE、Ubuntu,都可以用这个工具,对于运维来说,非常实用;第二个是强于os.system()、os.popen()以及subprocess,需要对回显处理,但是Psutil只需要对结果,像处理 Dict 一样「返回的属性因平台而异」,就可以轻松拿到想要的东西。

安装

安装非常简单,用pip就可以上路了。

pip install psutil  # python2
pip3 install psutil # python3

系统相关功能

CPU相关

获取CPU数量:

import psutil # 后面不再加这句代码
psutil.cpu_count()   # cpu数量
psutil.cpu_count(logical=True) # 逻辑CPU的数量

获取CPU每个CPU当前利用率:

psutil.cpu_percent(interval=1)  # 1 秒后线束总的利用率结果
psutil.cpu_percent(interval=0, percpu=True
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
psutil是一个跨平台的Python,用于获取系统信息和进程信息,包括CPU、内存、磁盘、网络等方面的信息。 安装: 在命令行中输入以下命令进行安装: pip install psutil 使用: 以下是psutil的一些常用功能: 1.获取CPU使用率 import psutil # 获取CPU的使用率 print(f"CPU占用率: {psutil.cpu_percent(interval=1)}%") 2.获取内存使用情况 import psutil # 获取物理内存使用情况 mem = psutil.virtual_memory() print(f"物理内存总量: {mem.total/(1024*1024):.2f} MB") print(f"物理内存使用量: {mem.used/(1024*1024):.2f} MB") print(f"物理内存使用率: {mem.percent}%") # 获取交换分区使用情况 swap = psutil.swap_memory() print(f"交换分区总量: {swap.total/(1024*1024):.2f} MB") print(f"交换分区使用量: {swap.used/(1024*1024):.2f} MB") print(f"交换分区使用率: {swap.percent}%") 3.获取磁盘使用情况 import psutil # 获取磁盘分区的使用情况 partitions = psutil.disk_partitions() for partition in partitions: print(f"分区{partition.device}的使用情况:") usage = psutil.disk_usage(partition.mountpoint) print(f"总容量: {usage.total/(1024*1024*1024):.2f} GB") print(f"已使用: {usage.used/(1024*1024*1024):.2f} GB") print(f"可用容量: {usage.free/(1024*1024*1024):.2f} GB") print(f"使用率: {usage.percent}%") 4.获取网络信息 import psutil # 获取网络连接信息 connections = psutil.net_connections(kind="tcp") for conn in connections: print(f"本地地址: {conn.laddr.ip}:{conn.laddr.port}") print(f"远程地址: {conn.raddr.ip}:{conn.raddr.port}") print(f"状态: {conn.status}") 5.获取进程信息 import psutil # 获取当前所有进程的信息 processes = psutil.process_iter() for process in processes: print(f"进程ID: {process.pid}") print(f"进程名称: {process.name()}") print(f"进程状态: {process.status()}") print(f"进程CPU占用率: {process.cpu_percent(interval=1)}%") print(f"进程内存使用量: {process.memory_info().rss/(1024*1024):.2f} MB") print(f"进程创建时间: {process.create_time()}")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值