python-psutil模組

來源:互聯網
上載者:User

標籤:品質   應用程式   擷取資訊   模組   python   記憶體   process   bit   記憶體使用量率   

psutil是一個跨平台庫,能夠輕鬆實現擷取系統啟動並執行進程和系統利用率資訊。它主要應用於系統監控,分析和限制系統資源及進程管理。它實現了同等命令列工具提供的功能,如ps、top、lsof、netstat等。。通常我們擷取作業系統資訊往往採用編寫shell來實現,比如擷取實體記憶體總大小以及已經使用大小,shell命令如下:

看看使用python的psutil模組如何?

8bit(位)=1Byte(位元組)
1024Byte(位元組)=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB

擷取系統效能資訊
採集系統的基本效能資訊包括CPU、記憶體、磁碟、網路等,可以完整描述當前系統的運行狀態及品質。
1、採集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模組

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.