服务器之家

服务器之家 > 正文

Python中psutil模块使用汇总

时间:2022-03-11 00:18     来源/作者:三爷带你飞

简介:psutil(进程和系统实用程序)是一个跨平台库,用于检索Python中运行进程和系统利用率(CPU、内存、磁盘、网络、传感器)的信息。它主要用于系统监视、分析和限制进程资源以及管理正在运行的进程。它实现了经典UNIX命令行工具提供的许多功能,如ps、top、iotop、lsof、netstat、ifconfig、free等。

支持的平台:Linux、Windows、macOS、FreeBSD, OpenBSD, NetBSD、Sun Solaris、AIX等平台。

安装:

?
1
pip install psutil

用户系统信息:

?
1
2
3
4
5
6
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"))  # 转换成自然时间格式

内存信息:

?
1
2
3
4
5
6
7
8
9
10
11
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信息:

?
1
2
3
print("CPU汇总信息:", psutil.cpu_times())
print("cpu逻辑个数:", psutil.cpu_count())
print("swap内存信息:", psutil.swap_memory())

磁盘信息:

?
1
2
3
4
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个数

网络信息:

?
1
print("获取网络总IO信息:", psutil.net_io_counters())

系统进程管理信息:

?
1
print("查看系统全部进程:", psutil.pids())

单个进程的详细信息:

?
1
2
3
4
5
6
7
8
9
10
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())  # 进程开启的线程数

源码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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 psutil模块内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/hzblucky1314/article/details/121645575

标签:

相关文章

热门资讯

2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
返回顶部