您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Python中psutil怎么用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
psutil
模塊是一個跨平臺庫 https://github.com/giampaolo/psutil
命令行下通過pip安裝:
pip install psutil
如果跟我一樣安裝的是Anaconda,則剩下這步了,因為自帶了。
顧名思義
psutil = process and system utilities
它專門用來獲取操作系統以及硬件相關的信息,比如:CPU、內存、磁盤、網絡、進程管理等。
今天這篇文章,就來給大家介紹一下其常用功能和使用方法。
先導入psutil
模塊,獲取CPU的信息數據。
import psutil # CPU邏輯數量 psutil.cpu_count() # CPU物理核心 psutil.cpu_count(logical=False) # 統計CPU的用戶/系統/空閑時間 psutil.cpu_times() # interval:每隔0.5s刷新一次 # percpu:查看所有的cpu使用率 for x in range(5): print(psutil.cpu_percent(interval=0.5, percpu=True))
輸出結果:
注:大家如果對jupyter notebook 同時輸出多個變量感興趣,可以查看這篇文章
《15個應該掌握的Jupyter Notebook使用技巧(小結)》
輸出內存使用情況(總內存、可用內存、內存使用率、已使用內存)。
psutil.virtual_memory()
比如上面輸出的total=16499146752
即為總內存16G,已使用內存/總內存= 76.0%(內存使用率)。
可以通過psutil獲取磁盤分區、磁盤使用率和磁盤IO信息。
# 磁盤分區信息 psutil.disk_partitions() # 磁盤使用情況 psutil.disk_usage('/') # 磁盤IO psutil.disk_io_counters()
其中,返回的IO信息指標有磁盤IO信息
read_count
(讀IO數)
write_count
(寫IO數)
read_bytes
(IO寫字節數)
read_time
(磁盤讀時間)
write_time
(磁盤寫時間)
使用psutil
庫查詢網絡讀寫字節/包的個數。
psutil.net_io_counters()
其中,返回的數據指標有
btes_sent
: 發送的字節數
bytes_recv
: 接收的字節數
packets_sent
: 發送的包數據量
packets_recv
: 接收的包數據量
errin
: 接收包時, 出錯的次數
errout
: 發送包時, 出錯的次數
dropin
: 接收包時, 丟棄的次數
dropout
: 發送包時, 丟棄的次數
除此以外,還有很多獲取網絡接口和網絡連接信息的函數。
比如
psutil.net_if_addrs()
獲取網絡接口信息
psutil.net_if_stats()
獲取網絡接口狀態等。
最后,使用psutil
模塊也能獲取所有進程的詳細信息數據!
psutil.pids() # 所有進程ID
返回的結果包括了所有進程的ID(pid)。
根據 pid 可以獲取一個進程對應的 Process 對象,而這個對象里面包含了該進程的全部數據。
下面我們指定進程ID=113408,其實就是當前Python交互環境,來獲取該進程的信息。
# 獲取指定進程ID=113408,其實就是當前Python交互環境 p = psutil.Process(113408) # 進程名稱 p.name() # 進程的exe路徑 p.exe() # 進程的工作目錄 p.cwd() # 進程啟動的命令行 p.cmdline() # 當前進程id p.pid
感謝各位的閱讀!關于“Python中psutil怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。