天天看點

Python系統性能資訊子產品

子產品:psutil

psutil是一個跨平台庫,可以很輕松的為我們實作擷取系統運作的程序和資源使用率等資訊。

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

安裝:

1

2

3

4

<code>wget https:</code><code>//pypi</code><code>.python.org</code><code>/packages/source/p/psutil/psutil-2</code><code>.0.0.</code><code>tar</code><code>.gz --no-check-certificate</code>

<code>tar</code> <code>-zxvf psutil-2.0.0.</code><code>tar</code><code>.gz</code>

<code>cd</code> <code>psutil-2.0.0</code>

<code>python setup.py </code><code>install</code>

CPU使用率主要包括以下幾部分CPU資訊:

User time,執行使用者程序的時間百分比

System time,執行核心程序和中斷的時間百分比

Wait IO,由于IO等待而使CPU處于idle(空閑)狀态的時間百分比

Idle,CPU處于idle狀态的時間百分比

Psutil.cpu_times() 使用方法:

5

<code>import</code> <code>psutil</code>

<code>psutil.cpu_times(percpu</code><code>=</code><code>True</code><code>)    </code><code># 使用cpu_times 方法擷取CPU完整資訊,需要顯示所有邏輯CPU資訊,percpu = True可選</code>

<code>psutil.cpu_times().user          </code><code># 擷取單項資料資訊,如使用者user 的CPU 時間比</code>

<code>psutil.cpu_count()               </code><code># 擷取CPU 的邏輯個數,預設logical=True</code>

<code>psytil.cpu_count(logical</code><code>=</code><code>False</code><code>)  </code><code># 擷取CPU 的實體個數</code>

記憶體資訊主要包括以下幾個部分:記憶體資訊:

Total(記憶體總數)

Used(已使用的記憶體數)

Free(空閑記憶體數)

Buffers(緩沖使用數)

Cache(緩存使用數)

Swap(交換分區使用數)

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

6

<code>mem</code><code>=</code><code>psutil.virtual_memory() </code><code># 擷取記憶體完整資訊</code>

<code>print</code><code>(mem)</code>

<code>mem.total                   </code><code># 擷取記憶體總數</code>

<code>mem.free                    </code><code># 擷取空閑記憶體數</code>

<code>psutil.swap_memory()        </code><code># 擷取swap分區資訊</code>

磁盤資訊主要包括以下幾個部分:磁盤資訊:

Read_count(讀IO數)

Write_time(寫IO數)

Read_bytes(IO讀位元組數)

Read_time(磁盤讀時間)

Write_time(磁盤寫時間)

Psutil.disk_io_counters() 使用方法:

<code>psutil.disk_partitions()              </code><code># 擷取磁盤完整資訊</code>

<code>psutil.disk_usage(</code><code>'/'</code><code>)                </code><code># 擷取分區(參數) 使用情況</code>

<code>psutil.disk_io_counters()             </code><code># 擷取硬碟總的IO個數、讀寫資訊</code>

<code>psutil.disk_io_counters(perdisk</code><code>=</code><code>True</code><code>) </code><code># 'perdisk=True'參數擷取單個分區IO個數、讀寫資訊</code>

網絡資訊主要包括以下幾個部分:網絡資訊:

Bytes_sent(發送位元組數)

Bytes_recv(接收位元組數)

Packets_sent(發送資料包數)

Packets_recv(接收資料包數)

Psutil.net_io_counters() 使用方法:

<code>psutil.net_io_counters()            </code><code># 擷取網絡總的IO資訊,預設pernic=False</code>

<code>psutil.net_io_counters(pernic</code><code>=</code><code>True</code><code>) </code><code># 輸出每個網絡接口的IO資訊</code>

其他系統資訊:

<code>import</code> <code>psutil,datetime</code>

<code>psutil.users()                                                                    </code><code># 傳回目前登入系統的使用者資訊</code>

<code>psutil.boot_time()                                                                </code><code># 擷取開機時間,以Linux時間戳格式傳回</code>

<code>datetime.datetime.formtimestamp(psutil.boot_time()).strftime(</code><code>'%Y-%m-%d %H:%M:%S'</code><code>) </code><code># 轉換成自然時間格式</code>

<code></code><code></code>

<code></code><code>本文轉自Grodd51CTO部落格,原文連結:http://blog.51cto.com/juispan/2050032,如需轉載請自行聯系原作者</code>

<code></code>