Python自動化運維——系統性能信息模塊

模塊:psutil

psutil是一個跨平臺庫,可以很輕鬆的爲我們實現獲取系統運行的進程和資源利用率等信息。

功能:主要是爲了系統監控

安裝:

如果你對python感興趣,我這有個學習Python基地,裏面有很多學習資料,感興趣的+Q羣:688244617

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利用率主要包括以下幾部分

  1. User time,執行用戶進程的時間百分比
  2. System time,執行內核進程和中斷的時間百分比
  3. Wait IO,由於IO等待而使CPU處於idle(空閒)狀態的時間百分比
  4. 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 的物理個數

內存信息:

內存信息主要包括以下幾個部分:

  1. Total(內存總數)
  2. Used(已使用的內存數)
  3. Free(空閒內存數)
  4. Buffers(緩衝使用數)
  5. Cache(緩存使用數)
  6. Swap(交換分區使用數)

Psutil.virtual_memory()和psutil.swap_memory() 使用方法:

#import psutil
 
#mem=psutil.virtual_memory() # 獲取內存完整信息
 
#print(mem)
 
#mem.total # 獲取內存總數
 
#mem.free # 獲取空閒內存數
 
#psutil.swap_memory() # 獲取swap分區信息

磁盤信息:

磁盤信息主要包括以下幾個部分:

  1. Read_count(讀IO數)
  2. Write_time(寫IO數)
  3. Read_bytes(IO讀字節數)
  4. Read_time(磁盤讀時間)
  5. 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個數、讀寫信息

網絡信息:

網絡信息主要包括以下幾個部分:

  1. Bytes_sent(發送字節數)
  2. Bytes_recv(接收字節數)
  3. Packets_sent(發送數據包數)
  4. 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') # 轉換成自然時間格式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章