Python自動化運維——系統性能信息模塊
阿新 • • 發佈:2017-12-09
自動 cal install cer 網絡接口 登錄 datetime 百分比 swap
模塊:psutil
psutil是一個跨平臺庫,可以很輕松的為我們實現獲取系統運行的進程和資源利用率等信息。
功能:主要是為了系統監控
安裝:
wget https://pypi.python.org/packages/source/p/psutil/psutil-2.0.0.tar.gz --no-check-certificate tar -zxvf psutil-2.0.0.tar.gz cd psutil-2.0.0 python setup.py install
CPU信息:
CPU利用率主要包括以下幾部分
- User time,執行用戶進程的時間百分比
- System time,執行內核進程和中斷的時間百分比
- Wait IO,由於IO等待而使CPU處於idle(空閑)狀態的時間百分比
- Idle,CPU處於idle狀態的時間百分比
Psutil.cpu_times() 使用方法:
#import psutil #psutil.cpu_times(percpu=True) # 使用cpu_times 方法獲取CPU完整信息,需要顯示所有邏輯CPU信息,percpu = True可選 #psutil.cpu_times().user # 獲取單項數據信息,如用戶user 的CPU 時間比 #psutil.cpu_count() # 獲取CPU 的邏輯個數,默認logical=True #psytil.cpu_count(logical=False) # 獲取CPU 的物理個數
內存信息:
內存信息主要包括以下幾個部分:
- Total(內存總數)
- Used(已使用的內存數)
- Free(空閑內存數)
- Buffers(緩沖使用數)
- Cache(緩存使用數)
- Swap(交換分區使用數)
Psutil.virtual_memory()和psutil.swap_memory() 使用方法:
#import psutil #mem=psutil.virtual_memory() # 獲取內存完整信息 #print(mem) #mem.total # 獲取內存總數 #mem.free # 獲取空閑內存數 #psutil.swap_memory() # 獲取swap分區信息
磁盤信息:
磁盤信息主要包括以下幾個部分:
- Read_count(讀IO數)
- Write_time(寫IO數)
- Read_bytes(IO讀字節數)
- Read_time(磁盤讀時間)
- Write_time(磁盤寫時間)
Psutil.disk_io_counters() 使用方法:
#import psutil #psutil.disk_partitions() # 獲取磁盤完整信息 #psutil.disk_usage(‘/‘) # 獲取分區(參數) 使用情況 #psutil.disk_io_counters() # 獲取硬盤總的IO個數、讀寫信息 #psutil.disk_io_counters(perdisk=True) # ‘perdisk=True‘參數獲取單個分區IO個數、讀寫信息
網絡信息:
網絡信息主要包括以下幾個部分:
- Bytes_sent(發送字節數)
- Bytes_recv(接收字節數)
- Packets_sent(發送數據包數)
- Packets_recv(接收數據包數)
Psutil.net_io_counters() 使用方法:
#import psutil #psutil.net_io_counters() # 獲取網絡總的IO信息,默認pernic=False #psutil.net_io_counters(pernic=True) # 輸出每個網絡接口的IO信息
其他系統信息:
#import psutil,datetime #psutil.users() # 返回當前登錄系統的用戶信息 #psutil.boot_time() # 獲取開機時間,以Linux時間戳格式返回 #datetime.datetime.formtimestamp(psutil.boot_time()).strftime(‘%Y-%m-%d %H:%M:%S‘) # 轉換成自然時間格式
Python自動化運維——系統性能信息模塊