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