標籤:free style cpu使用率 非強制中斷 百分比 ifconfig 進程 kill lsof
psutil是一個跨平台庫,能夠輕鬆實現擷取系統啟動並執行進程和系統利用率(CPU,記憶體,磁碟,網路等)資訊,主要應用於系統監控,分析和限制系統資源及進程的管理,它實現了同等命令列工具提供的功能,如ps,top,lsof,netstat,ifconfig,who,df,kill,free,nice等.支援32位,和64位的Linux,Windows,OS X,FreeBSD等作業系統。
1 1 cpu資訊 2 #Linux系統cpu利用率有以下幾個部分 3 #User Time,執行使用者進程的時間百分比 4 #System Time,執行核心進程和中斷的時間百分比 5 #Wait IO,由於IO等待使cpu處於idle(空閑)狀態的時間百分比 6 #Idle,cpu處於空閑狀態的時間百分比 7 8 import psutil 9 #擷取cpu完成資訊10 print psutil.cpu_times()11 >>> scputimes(user=29.36, nice=0.0, system=26.59, idle=9619.35, iowait=64.78, irq=0.5, softirq=1.67, steal=0.0, guest=0.0)12 13 print type(psutil.cpu_times())14 >>> <class ‘psutil._pslinux.scputimes‘>15 # user () 從系統啟動開始累計到當前時刻,使用者態的CPU時間,不包含 nice值為負進程。16 # nice () 從系統啟動開始累計到當前時刻,nice值為負的進程所佔用的CPU時間17 # system () 從系統啟動開始累計到當前時刻,核心時間18 # idle () 從系統啟動開始累計到當前時刻,除IO等待時間以外其它等待時間19 # iowait () 從系統啟動開始累計到當前時刻,IO等待時間20 # irq () 從系統啟動開始累計到當前時刻,硬停機時間21 # softirq () 從系統啟動開始累計到當前時刻,非強制中斷時間22 23 # CPU使用率計算24 CPU在t1到t2時間段總的使用時間 = ( user2+ nice2+ system2+ idle2+ iowait2+ irq2+ softirq2) - ( user1+ nice1+ system1+ idle1+ iowait1+ irq1+ softirq1)25 CPU在t1到t2時間段空閑使用時間 = (idle2 - idle1)26 CPU在t1到t2時間段即時利用率 = 1 - CPU空閑使用時間 / CPU總的使用時間27 28 # 29 print psutil.cpu_percent(interval=20,percpu=False)30 >>> 3.731 interval:代表時間(秒),在這段時間內的cpu使用率32 percpu:選擇總的使用率還是每個cpu的使用率。False為總體,True為單個,返回列表33 34 #擷取cpu邏輯個數35 print psutil.cpu_count()36 >>> 5637 # 計算方式:單個cpu核心數*cpu個數*2(cpu cores 這個規格值,如果支援並開啟ht)38 # ht:intel的超執行緒技術(HT), 可以在邏輯上再分一倍數量的cpu core出來39 40 41 #擷取cpu物理個數42 psutil.cpu_count(logical=False)43 >>> 2844 # 計算方式:單個cpu核心數*cpu個數
python 擷取cpu、記憶體、硬碟等即時資訊 psutil