[size=medium]有關python pstuil模組的用法,一些psutil模組的例子,包括獲取系統效能資訊(cpu、記憶體、磁碟、網路資訊)、系統程序管理方法等。
psutil模組,主要應用於系統監控,分析和限制管理資源及程序的管理,它實現了同等命令工具提供的功能。[/size]
[size=medium][color=blue]
例如:
ps,top,lsof,netstat,ifconfig,who,df,kill,free,nice,ionice,iostat,iotop,uptime,pidof,tty,taskset,pmap等
[/color][/size]
安裝psutil模組:
**示例:
wget --no-check-certificate
tar -zxvf psutil-2.0.0.tar.gz
cd psutil-2.0.0
python setup.py install
下面介紹一些psutil模組的例子,包括獲取系統效能資訊(cpu、記憶體、磁碟、網路資訊)、系統程序管理方法等。
1,取系統效能資訊
1)cpu資訊
user time,執行使用者程序的時間百分比
system time,執行核心程序和中斷的百分比
wait io,由於io等待而使cpu處於idle(空閒)狀態的時間百分比
idle,cpu處於idle狀態的時間百分比
psutil.cpu_count psutil.cpu_times
psutil.cpu_percent psutil.cpu_times_percent
其中:psutil.cpu_count(logical=false)物理個數
psutil.cpu_count()邏輯個數
psutil.cpu_times_percent(interval=1,percpu=true/false)時間間隔,是否以列表形式輸出
2)mem資訊
total,記憶體總量
used,已使用的記憶體數
free,空閒記憶體數
buffers,緩衝區使用數
swap,交換分割槽使用數
psutil.swap_memory
psutil.virtual_memory
3)磁碟資訊
磁碟利用率及io資訊
read_count,讀io數
write_count,寫io數
read_bytes,讀io位元組數
write_count,寫io位元組數
read_time,磁碟讀時間
write_time,磁碟寫時間
psutil.disk_partitions
psutil.disk_usage(『/』)
psutil.disk_io_counters(『perdisk=false/true』)總io個數/單個分割槽io個數
4)網路資訊
bytes_sent,傳送位元組數
packets_sent,接收位元組數
packets_sent,傳送資料報數
packets_sent,接收資料報數
psutil.net_io_counters(pernic=flase/true)獲取網路總的io資訊/獲取每個網路介面的io資訊
5)其他系統資訊
使用者登入、開機時間
psutil.users()
psutil.boot_time()
2,系統程序管理方法
1)程序資訊
2)popen類的使用
import psutil
from subprocess import pipe
p = pstuil.popen([『/etc/init.d/mysqld』,』-c』,』start』],stdout=pipe)
通過psutil的popen方法啟動的應用程式,可以跟蹤該程式執行的所有資訊。
用Python pip安裝模組
將scripts的路徑複製,新增到path 直接輸入 pip install 包名pip命令預設使用的是國外的pypi映象 pypi.python.org 安裝慢不說,有時甚至會導致出現超時等網路問題,造成安裝失敗。所以,使用國內的pypi映象,不失為一種加速pip安裝第三方包的好方法。國內的第三方...
用gdb除錯核心模組
請讀者試用 本人開發搜尋頁面 速谷歌 本文也即 linux device drivers ldd3的第四章debuging techniques的讀書筆記之六,但我們不限於此內容。這章看得比較慢,最近比較懶,而陷入了文件工作中,我決定這章節不會有之七,在之六打住。在使用者程式中,有很多編譯工具同提供...
用Perl編寫Apache模組
mod perl技術將perl解析器編譯到apache伺服器中一起等待客戶端請求。mod perl技術在apache中一共有三種 執行方式 perlrun模式 這個模式主要相容舊式cgi程式,僅僅使用apache中的perl解析器對 進行解析不進行緩衝。registry模式 這個模式的perl 在被...