psutil基本使用
psutil.cpu_percent() cpu 百分比
mem = psutil.virtual_memory()
mem.total,mem.used mem.free
psutil.cpu_count() 逻辑cpu
psutil.cpu_count(logical=False)物理cpu
psutil.disk_partitions() # 使用 psutil.disk_partitions 方法获取磁盘完整信息
psutil.disk_usage('/') # 使用 psutil.disk_usage 方法获取分区 ( 参数 ) 的使用情况
psutil.disk_io_counters() # 使用 psutil.disk_io_counters 获取硬盘总的 IO 个数、
# 读写信息
psutil.net_io_counters() # 使用 psutil.net_io_counters 获取网络总的 IO 信息,默
# 认 pernic=False
>>>p.cpu_times() # 进程 CPU 时间信息,包括 user、 system 两个 CPU 时间
pcputimes(user=9.0500000000000007, system=20.25)
>>>p.cpu_affinity() #get 进程 CPU 亲和度,如要设置进程 CPU 亲和度,将 CPU 号作为参数即可
[0, 1]
>>>p.memory_percent() # 进程内存利用率
14.147714861289776
>>>p.memory_info() # 进程内存 rss、 vms 信息
pmem(rss=71626752, vms=1575665664)
>>>p.io_counters() # 进程 IO 信息,包括读写 IO 数及字节数
pio(read_count=41133, write_count=16811, read_bytes=37023744, write_
bytes=4722688)
1. cpu占用率
1)每隔10秒获取一次cpu占用率
psutil.cpu_percent()
2)每隔3分钟取出CPU占用率最高记录值,代表该三分钟内CPU占用率
2. 内存
1)每隔10秒获取一次内存占用率
100.0 - psutil.virtual_memory().percent
2)每隔3分钟取出内存占用率最高记录值,代表该三分钟内内存占用率
3. 磁盘读写次数(iops)
1)每隔10秒获取一次磁盘读写累计次数
read_count = psutil.disk_io_counters().read_count
write_count = psutil.disk_io_counters().write_count
total_count = read_count + write_count
2)减去上一次磁盘记录累计次数,除以间隔时间(10秒)
(total_count - total_count_last)/10
3)每隔3分钟取出磁盘每秒读写次数的最高记录值,代表该三分钟内指标
4. 磁盘读写量(mbps)
1)每隔10秒记录一次磁盘读写累计量
read_bytes = psutil.disk_io_counters().read_bytes
wrtite_bytes = psutil.disk_io_counters().write_bytes
total_bytes = read_bytes + wrtite_bytes
2)减去上一次记录磁盘读写累计量,除以间隔时间(10秒)
disk_bps = (total_bytes - total_bytes_last)/10
3)每隔3分钟取出磁盘每秒读写量最高记录值,除以1048576,代表该三分钟内指标
disk_mbps = disk_bps/1048576
5. 网络吞吐量
1)每隔10秒记录一次网络累计吞吐量
bytes_sent = psutil.net_io_counters().bytes_sent
bytes_recv = psutil.net_io_counters().bytes_recv
total_bytes = bytes_sent + bytes_recv
2)减去上一次记录累计吞吐量,除以间隔时间(10秒)
net_bps = (total_bytes - total_bytes_last)/10
3)每隔3分钟取出每秒网络吞吐量最高记录值,除以1048576,代表该三分钟内指标
net_mbps = net_bps/1048576