1. 程式人生 > >Python自動化運維——系統性能信息模塊

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

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

  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‘) # 轉換成自然時間格式

  

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