使用Python psutil库获取CPU、内存、磁盘、网络、进程信息

import psutil

def line(n):  #输出指定数量的横线
    print("-"*n)

# 获取CPU信息
print("CPU信息")
line(10)
print("CPU逻辑数量:", psutil.cpu_count())  # CPU逻辑数量
print("CPU物理核心:", psutil.cpu_count(logical=False))  # CPU物理核心
print("CPU 使用率",psutil.cpu_percent(),"%")
print("cpu 状态",psutil.cpu_stats())
line(10)

# 获取内存信息
print("获取内存信息")
line(10)
mem = psutil.virtual_memory()
print("总内存:", mem.total/1024/1024, "MB")
print("已用内存:", mem.used/1024/1024, "MB")
print("空闲内存:", mem.free/1024/1024, "MB")  #or use print("空闲内存:",mem.available / 1024 / 1024, "MB")
print("使用内存占比:", mem.percent)
line(10)
# 获取磁盘信息
print("获取磁盘信息")
line(10)
disk = psutil.disk_partitions()
print("磁盘分区信息:", disk)
disk_usage = psutil.disk_usage('/')
print("总磁盘空间:", disk_usage.total/1024/1024,"MB")
print("磁盘使用情况:", disk_usage.used/1024/1024,"MB")
print("磁盘空闲情况:", disk_usage.free/1024/1024,"MB")
disk_io = psutil.disk_io_counters()
print("磁盘IO:", disk_io)
line(10)

# 获取网络信息
print("获取网络信息")
line(10)
net_io = psutil.net_io_counters()
print("网络IO:", net_io)

#获取当前运行的所有进程
print("获取当前运行的所有进程")
line(10)
processes = psutil.process_iter()
for process in  processes:   #输出信息量巨大!
    print("进程IO:",process.pid)
    print("进程名称:",process.name())
line(10)
#获取网络信息
print("获取网络信息")
line(10)
# 获取网络信息
net_io = psutil.net_io_counters()
print("网络IO:", net_io)
# 获取网络接口信息
cc = psutil.net_if_addrs()
print("网络接口信息:", cc)
# 获取网络接口状态信息
dd = psutil.net_if_stats()
print("网络接口状态信息:", dd)
# 获取所有网络连接信息
ee = psutil.net_connections()
print("所有网络连接信息:", ee)