Python標準庫學習之psutil內(nèi)存詳解
人生苦短,快學Python!
今天介紹的是psutil模塊,它是一個跨平臺庫 https://github.com/giampaolo/psutil
命令行下通過pip安裝:
pip install psutil
如果跟我一樣安裝的是Anaconda,則剩下這步了,因為自帶了。
顧名思義
psutil = process and system utilities
它專門用來獲取操作系統(tǒng)以及硬件相關(guān)的信息,比如:CPU、內(nèi)存、磁盤、網(wǎng)絡、進程管理等。

今天這篇文章,就來給大家介紹一下其常用功能和使用方法。
查詢CPU信息
先導入psutil模塊,獲取CPU的信息數(shù)據(jù)。
import psutil
# CPU邏輯數(shù)量
psutil.cpu_count()
# CPU物理核心
psutil.cpu_count(logical=False)
# 統(tǒng)計CPU的用戶/系統(tǒng)/空閑時間
psutil.cpu_times()
# interval:每隔0.5s刷新一次
# percpu:查看所有的cpu使用率
for x in range(5):
print(psutil.cpu_percent(interval=0.5, percpu=True))
輸出結(jié)果:

注:大家如果對jupyter notebook 同時輸出多個變量感興趣,可以查看這篇文章
《15個應該掌握的Jupyter Notebook使用技巧(小結(jié))》
查詢內(nèi)存信息
輸出內(nèi)存使用情況(總內(nèi)存、可用內(nèi)存、內(nèi)存使用率、已使用內(nèi)存)。
psutil.virtual_memory()

比如上面輸出的total=16499146752即為總內(nèi)存16G,已使用內(nèi)存/總內(nèi)存= 76.0%(內(nèi)存使用率)。
查詢磁盤信息
可以通過psutil獲取磁盤分區(qū)、磁盤使用率和磁盤IO信息。
# 磁盤分區(qū)信息
psutil.disk_partitions()
# 磁盤使用情況
psutil.disk_usage('/')
# 磁盤IO
psutil.disk_io_counters()

其中,返回的IO信息指標有磁盤IO信息
read_count(讀IO數(shù))
write_count(寫IO數(shù))
read_bytes(IO寫字節(jié)數(shù))
read_time(磁盤讀時間)
write_time(磁盤寫時間)
查詢網(wǎng)絡信息
使用psutil庫查詢網(wǎng)絡讀寫字節(jié)/包的個數(shù)。
psutil.net_io_counters()

其中,返回的數(shù)據(jù)指標有
btes_sent: 發(fā)送的字節(jié)數(shù)
bytes_recv: 接收的字節(jié)數(shù)
packets_sent: 發(fā)送的包數(shù)據(jù)量
packets_recv: 接收的包數(shù)據(jù)量
errin: 接收包時, 出錯的次數(shù)
errout: 發(fā)送包時, 出錯的次數(shù)
dropin: 接收包時, 丟棄的次數(shù)
dropout: 發(fā)送包時, 丟棄的次數(shù)
除此以外,還有很多獲取網(wǎng)絡接口和網(wǎng)絡連接信息的函數(shù)。
比如
psutil.net_if_addrs()獲取網(wǎng)絡接口信息
psutil.net_if_stats()獲取網(wǎng)絡接口狀態(tài)等。
查詢進程信息
最后,使用psutil模塊也能獲取所有進程的詳細信息數(shù)據(jù)!
psutil.pids() # 所有進程ID

返回的結(jié)果包括了所有進程的ID(pid)。
根據(jù) pid 可以獲取一個進程對應的 Process 對象,而這個對象里面包含了該進程的全部數(shù)據(jù)。
下面我們指定進程ID=113408,其實就是當前Python交互環(huán)境,來獲取該進程的信息。
# 獲取指定進程ID=113408,其實就是當前Python交互環(huán)境 p = psutil.Process(113408) # 進程名稱 p.name() # 進程的exe路徑 p.exe() # 進程的工作目錄 p.cwd() # 進程啟動的命令行 p.cmdline() # 當前進程id p.pid

總而言之,psutil使得我們可以輕松用Python程序獲取各類系統(tǒng)信息。
本文只介紹了該模塊的安裝和基本使用方法,后續(xù)大家想了解更多詳情,可以參考psutil的官 https://github.com/giampaolo/psutil
以上就是Python標準庫學習之psutil內(nèi)存詳解的詳細內(nèi)容,更多關(guān)于Python標準庫的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python自定義函數(shù)中的return和print使用及說明
這篇文章主要介紹了python自定義函數(shù)中的return和print使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
python數(shù)據(jù)分析matplotlib的基礎繪圖使用
這篇文章主要為大家介紹了python數(shù)據(jù)分析matplotlib的基礎繪圖使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
python如何實現(xiàn)API的調(diào)用詳解
Web?API是網(wǎng)站的一部分,用于與使用非常具體的URL請求特定信息的程序交互,下面這篇文章主要給大家介紹了關(guān)于python實現(xiàn)API的快速調(diào)用指南,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2022-05-05
APPium+Python編寫真機移動端自動化腳本的項目實踐
本文主要介紹了APPium+Python編寫真機移動端自動化腳本的項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07
python實現(xiàn)dnspod自動更新dns解析的方法
這篇文章主要介紹了python實現(xiàn)的dnspod自動更新dns解析的方法,需要的朋友可以參考下2014-02-02

