Python中psutil模块使用汇总
作者:三爷带你飞 时间:2022-07-30 10:26:45
简介: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()) # 进程开启的线程数
运行结果:
来源:https://blog.csdn.net/hzblucky1314/article/details/121645575
标签:Python,psutil,模块
0
投稿
猜你喜欢
ASP使用FSO组件生成HTML静态页面
2007-10-15 12:19:00
JS获取对象代码总结
2011-03-07 16:14:00
asp关键词屏蔽过滤函数代码
2010-05-04 16:32:00
asp如何让服务器延时执行更改后的数据?
2010-05-13 16:35:00
MYSQL教程:数据列类型与查询效率
2009-02-27 15:37:00
网页设计进阶之一 (步骤和大局观)
2008-08-23 10:39:00
JS分割字符串并放入数组的函数
2023-08-05 15:31:03
用WEB(ASP)方式实现SQL SERVER 数据库的备份和恢复
2010-05-11 20:12:00
SQL Server管理 这些你懂吗?
2011-07-01 13:40:23
ASP 使用jqGrid实现读写删的代码(json)
2010-03-07 17:26:00
如何让WML页面自己更新?
2008-05-21 13:35:00
10个美观实用的 jQuery/Mootools 日历插件
2009-09-17 13:03:00
Python字符串hashlib加密模块使用案例
2023-08-02 12:06:24
几款优秀的中文字体设计
2008-03-24 17:25:00
浅谈javascript的分号[译]
2009-12-13 10:34:00
提高JavaScript执行效率的23个实用技巧
2023-08-15 18:38:12
Python matplotlib绘制散点图配置(万能模板案例)
2023-08-02 23:04:18
php插件Xajax使用方法详解
2023-10-19 23:28:40
Python异常处理如何才能写得优雅(retrying模块)
2023-07-13 05:50:44
asp日历代码 显示农历
2007-09-23 08:40:00