Python中psutil模块使用汇总
简介:psutil(进程和系统实用程序)是一个跨平台库,用于检索Python中运行进程和系统利用率(CPU、内存、磁盘、网络、传感器)的信息。它主要用于系统监视、分析和限制进程资源以及管理正在运行的进程。它实现了经典UNIX命令行工具提供的许多功能,如ps、top、iotop、lsof、netstat、ifconfig、free等。
支持的平台:Linux、Windows、macOS、FreeBSD, OpenBSD, NetBSD、Sun Solaris、AIX等平台。
安装:
pip install psutil
用户系统信息:
import psutil import datetime print("当前用户:", psutil.users()) print("当前系统时间:", psutil.boot_time()) # 以时间戳格式返回) print(datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H: %M: %S")) # 转换成自然时间格式
内存信息:
mem = psutil.virtual_memory() print("系统内存全部信息:", mem) mem_total = float(mem.total) mem_used = float(mem.used) mem_free = float(mem.free) mem_percent = float(mem.percent) print(f"系统总计内存:{mem_total}") print(f"系统已经使用内存:{mem_used}") print(f"系统空闲内存:{mem_free}") print(f"系统内存使用率:{mem_percent}")
CPU信息:
print("CPU汇总信息:", psutil.cpu_times()) print("cpu逻辑个数:", psutil.cpu_count()) print("swap内存信息:", psutil.swap_memory())
磁盘信息:
print("获取磁盘的完整信息:", psutil.disk_partitions()) print("获取分区表的参数:", psutil.disk_usage('/')) # 获取/分区的状态 print("获取硬盘IO总个数:", psutil.disk_io_counters()) print("获取单个分区IO个数:", psutil.disk_io_counters(perdisk=True)) # perdisk=True参数获取单个分区IO个数
网络信息:
print("获取网络总IO信息:", psutil.net_io_counters())
系统进程管理信息:
print("查看系统全部进程:", psutil.pids())
单个进程的详细信息:
pid_info = psutil.Process(1200) print(pid_info.name()) # 进程名 print(pid_info.exe()) # 进程的bin路径 print(pid_info.status()) # 进程状态 print(pid_info.create_time()) # 进程创建时间 print(pid_info.cpu_times()) # 进程的cpu时间信息,包括user,system两个cpu信息 print(pid_info.memory_percent()) # 进程内存利用率 print(pid_info.memory_info()) # 进程内存rss,vms信息 print(pid_info.io_counters()) # 进程的IO信息,包括读写IO数字及参数 print(pid_info.num_threads()) # 进程开启的线程数
源码:
import psutil import datetime # 用户,系统相关: print("当前用户:", psutil.users()) print("当前系统时间:", psutil.boot_time()) # 以linux时间格式返回) print(datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H: %M: %S")) # 转换成自然时间格式 # 内存相关: mem = psutil.virtual_memory() print("系统内存全部信息:", mem) mem_total = float(mem.total) mem_used = float(mem.used) mem_free = float(mem.free) mem_percent = float(mem.percent) print(f"系统总计内存:{mem_total}") print(f"系统已经使用内存:{mem_used}") print(f"系统空闲内存:{mem_free}") print(f"系统内存使用率:{mem_percent}") # CPU相关: print("CPU汇总信息:", psutil.cpu_times()) print("cpu逻辑个数:", psutil.cpu_count()) print("swap内存信息:", psutil.swap_memory()) # 磁盘相关: print("获取磁盘的完整信息:", psutil.disk_partitions()) print("获取分区表的参数:", psutil.disk_usage('/')) # 获取/分区的状态 print("获取硬盘IO总个数:", psutil.disk_io_counters()) print("获取单个分区IO个数:", psutil.disk_io_counters(perdisk=True)) # perdisk=True参数获取单个分区IO个数 # 网络相关: print("获取网络总IO信息:", psutil.net_io_counters()) # 系统进程管理: print("查看系统全部进程:", psutil.pids()) # 单个进程的详细信息: pid_info = psutil.Process(1200) print(pid_info.name()) # 进程名 print(pid_info.exe()) # 进程的bin路径 print(pid_info.status()) # 进程状态 print(pid_info.create_time()) # 进程创建时间 print(pid_info.cpu_times()) # 进程的cpu时间信息,包括user,system两个cpu信息 print(pid_info.memory_percent()) # 进程内存利用率 print(pid_info.memory_info()) # 进程内存rss,vms信息 print(pid_info.io_counters()) # 进程的IO信息,包括读写IO数字及参数 print(pid_info.num_threads()) # 进程开启的线程数
运行结果:
到此这篇关于Python中psutil模块使用的文章就介绍到这了,更多相关Python psutil模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python通过ElementTree操作XML获取结点读取属性美化XML
本文讲解如何通过ElementTree解析XML,获取儿子结点、插入儿子结点、操作属性、美化XML2013-12-12Python 安装第三方库 pip install 安装慢安装不上的解决办法
很多朋友反映在使用pip install安装python 第三方库的过程中会出现网速很慢,或者是安装下载到中途,停止,卡主,或者是下载报错等问题,下面小编给大家带来了解决方法,一起看看吧2019-06-06命令行传递参数argparse.ArgumentParser的使用解析
这篇文章主要介绍了命令行传递参数argparse.ArgumentParser的使用解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-02-02
最新评论