python-psutil模塊
看看使用python的psutil模塊如何實現
8bit(位)=1Byte(字節)
1024Byte(字節)=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
獲取系統性能信息
采集系統的基本性能信息包括CPU、內存、磁盤、網絡等,可以完整描述當前系統的運行狀態及質量。
可以使用psutil.cpu_times()方法可以非常簡單的得到這些信息,同時也可以獲取CPU的硬件相關信息,比如CPU的物理個數與邏輯個數,例如:
2、采集內存信息
Linux系統的內存利用率信息涉及total(內存總數)、used(已使用的內存數)、free(空閑內存數)、buffer(緩沖使用數)、cache(緩存使用數)、swap(交換分區使用數)等,分別可以使用psutil.virtual_memory()與psutil.swap_memory()方法獲取信息,例如:
3、采集磁盤信息
在系統的所有磁盤信息中,我們比較關註的是磁盤的利用率和IO信息,其中磁盤利用率用psutil.disk_usage方法獲取。磁盤IO信息包括read_count(讀IO數)、write_count(寫IO數)、read_bytes(IO讀字節數)、write_bytes(IO寫字節數)、read_time(磁盤讀時間)、write_time(磁盤寫時間)等,這些信息可以通過psutil.disk_io_counters()獲取。
4、網絡信息
系統的網絡信息與磁盤IO類似,涉及幾個關鍵點,包括bytes_sent(發送字節數)、bytes_recv(接收字節數)、packets_sent(發送數據包數)、packets_recv(接收數據包數)等。這些網絡信息使用psutil.net_io_counters()方法獲取。
5、獲取用戶登錄、開機時間等信息
6、系統進程的管理方法
獲得當前系統的進程信息,可以讓我們得知應用程序的運行狀態,包括進程的啟動時間、查看或設置CPU親和度、內存使用率、IO信息、socket連接、線程數,這些信息可以呈現出指定進程是否存活、資源利用情況。
7、popen類的使用
psutil提供的popen類的作用是獲取用戶啟動的應用程序進程信息,以便追蹤程序進程的運行狀態。
python-psutil模塊