导入库
import psutil
cpu逻辑数量
cpu_count = psutil.cpu_count()
print('cpu逻辑数量:',cpu_count)
cpu物理核心
cpu_count1 = psutil.cpu_count(logical=False)
print('cpu物理核心:',cpu_count1)
统计CPU的用户/系统/空闲时间
cpu_time = psutil.cpu_times()
print('CPU的用户/系统/空闲时间:',cpu_time)
interval: 每隔0.5s刷新一次
percpu:查看所有的cpu使用率
# for x in range(5):
# print(psutil.cpu_percent(interval=0.5,percpu=True))
查询内存信息
输出内存使用情况(总内存,可用内存,内存使用率,已使用内存)
virtual_memory = psutil.virtual_memory()
print('内存信息:',virtual_memory)
virtual_memory_str = list(virtual_memory)
print('内存占用率:',virtual_memory_str[2],'%')
查询磁盘信息
磁盘分区信息
disk_partitions = psutil.disk_partitions()
print('磁盘分区:',disk_partitions)
磁盘使用情况
disk_usage = psutil.disk_usage('/')
print('磁盘使用情况:',disk_usage)
磁盘IO
disk_io_counters = psutil.disk_io_counters()
print('磁盘IO:',disk_io_counters)
‘’’
read_count(读IO数)
write_count(写IO数)
read_bytes(IO写字节数)
read_time(磁盘读时间)
write_time(磁盘写时间)
‘’’
查询网络信息
net_io_counters = psutil.net_io_counters()
print('网络信息:',net_io_counters)
‘’’
返回的数据指标有
bets_sent: 发送的字节数
betys_recv: 接收的字节数
packets_sent: 发送的包数据量
packets_recv: 接收的包数据量
errin: 接收包时,出错的次数
errout: 发送包时,出错的次数
dropin: 接收包时,丢弃的次数
dropout: 发送包时,丢弃的次数
‘’’
获取网络接口信息
net_addrs = psutil.net_if_addrs()
print('网络接口信息:',net_addrs)
获取网络接口状态
net_stats = psutil.net_if_stats()
print('网络接口状态:',net_stats)
查看进程信息
ids = psutil.pids()
print('进程信息:',ids)
# for i in ids:
# p = psutil.Process(i)
# print(i,p.name)
获取指定进程ID=12900
p = psutil.Process(2748)
进程名称
p_name = p.name()
print('进程名称:',p_name)
进程的exe路径
p_exe = p.exe()
print('进程的exe路径:',p_exe)
进程的工作目录
p_cwd = p.cwd()
print('进程的工作目录:',p_cwd)
进程启动的命令行
p_cmd = p.cmdline()
print('进程启动的命令行:',p_cmd)
当前进程id
pid = p.pid
print('当前进程id:',pid)