欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python標(biāo)準(zhǔn)庫(kù)學(xué)習(xí)之psutil內(nèi)存詳解

 更新時(shí)間:2021年09月26日 09:40:59   作者:朱小五是凹凸君呀  
本篇文章給大家介紹一個(gè)Python標(biāo)準(zhǔn)庫(kù)中的psutil模塊,它是一個(gè)跨平臺(tái)庫(kù),下面來(lái)學(xué)習(xí)一下器常用的功能及使用方法吧,有需要的同學(xué)可以借鑒參考下

人生苦短,快學(xué)Python!

今天介紹的是psutil模塊,它是一個(gè)跨平臺(tái)庫(kù) https://github.com/giampaolo/psutil

命令行下通過(guò)pip安裝:

pip install psutil

如果跟我一樣安裝的是Anaconda,則剩下這步了,因?yàn)樽詭Я恕?/p>

顧名思義

psutil = process and system utilities

它專(zhuān)門(mén)用來(lái)獲取操作系統(tǒng)以及硬件相關(guān)的信息,比如:CPU、內(nèi)存、磁盤(pán)、網(wǎng)絡(luò)、進(jìn)程管理等。

=

今天這篇文章,就來(lái)給大家介紹一下其常用功能和使用方法。

查詢(xún)CPU信息

先導(dǎo)入psutil模塊,獲取CPU的信息數(shù)據(jù)。

import psutil
# CPU邏輯數(shù)量
psutil.cpu_count()
# CPU物理核心
psutil.cpu_count(logical=False)
# 統(tǒng)計(jì)CPU的用戶(hù)/系統(tǒng)/空閑時(shí)間
psutil.cpu_times()
# interval:每隔0.5s刷新一次
# percpu:查看所有的cpu使用率
for x in range(5):
    print(psutil.cpu_percent(interval=0.5, percpu=True))

輸出結(jié)果:

注:大家如果對(duì)jupyter notebook 同時(shí)輸出多個(gè)變量感興趣,可以查看這篇文章

《15個(gè)應(yīng)該掌握的Jupyter Notebook使用技巧(小結(jié))》

查詢(xún)內(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)存使用率)。

查詢(xún)磁盤(pán)信息

可以通過(guò)psutil獲取磁盤(pán)分區(qū)、磁盤(pán)使用率和磁盤(pán)IO信息。

# 磁盤(pán)分區(qū)信息
psutil.disk_partitions()
# 磁盤(pán)使用情況
psutil.disk_usage('/')
# 磁盤(pán)IO
psutil.disk_io_counters()

其中,返回的IO信息指標(biāo)有磁盤(pán)IO信息

read_count(讀IO數(shù))

write_count(寫(xiě)IO數(shù))

read_bytes(IO寫(xiě)字節(jié)數(shù))

read_time(磁盤(pán)讀時(shí)間)

write_time(磁盤(pán)寫(xiě)時(shí)間)

查詢(xún)網(wǎng)絡(luò)信息

使用psutil庫(kù)查詢(xún)網(wǎng)絡(luò)讀寫(xiě)字節(jié)/包的個(gè)數(shù)。

psutil.net_io_counters()

其中,返回的數(shù)據(jù)指標(biāo)有

btes_sent: 發(fā)送的字節(jié)數(shù)

bytes_recv: 接收的字節(jié)數(shù)

packets_sent: 發(fā)送的包數(shù)據(jù)量

packets_recv: 接收的包數(shù)據(jù)量

errin: 接收包時(shí), 出錯(cuò)的次數(shù)

errout: 發(fā)送包時(shí), 出錯(cuò)的次數(shù)

dropin: 接收包時(shí), 丟棄的次數(shù)

dropout: 發(fā)送包時(shí), 丟棄的次數(shù)

除此以外,還有很多獲取網(wǎng)絡(luò)接口和網(wǎng)絡(luò)連接信息的函數(shù)。

比如

psutil.net_if_addrs()獲取網(wǎng)絡(luò)接口信息

psutil.net_if_stats()獲取網(wǎng)絡(luò)接口狀態(tài)等。

查詢(xún)進(jìn)程信息

最后,使用psutil模塊也能獲取所有進(jìn)程的詳細(xì)信息數(shù)據(jù)!

psutil.pids() # 所有進(jìn)程ID

返回的結(jié)果包括了所有進(jìn)程的ID(pid)。

根據(jù) pid 可以獲取一個(gè)進(jìn)程對(duì)應(yīng)的 Process 對(duì)象,而這個(gè)對(duì)象里面包含了該進(jìn)程的全部數(shù)據(jù)。

下面我們指定進(jìn)程ID=113408,其實(shí)就是當(dāng)前Python交互環(huán)境,來(lái)獲取該進(jìn)程的信息。

# 獲取指定進(jìn)程ID=113408,其實(shí)就是當(dāng)前Python交互環(huán)境
p = psutil.Process(113408)
# 進(jìn)程名稱(chēng)
p.name()
# 進(jìn)程的exe路徑
p.exe()
# 進(jìn)程的工作目錄
p.cwd()
# 進(jìn)程啟動(dòng)的命令行
p.cmdline()
# 當(dāng)前進(jìn)程id
p.pid

總而言之,psutil使得我們可以輕松用Python程序獲取各類(lèi)系統(tǒng)信息。

本文只介紹了該模塊的安裝和基本使用方法,后續(xù)大家想了解更多詳情,可以參考psutil的官 https://github.com/giampaolo/psutil

以上就是Python標(biāo)準(zhǔn)庫(kù)學(xué)習(xí)之psutil內(nèi)存詳解的詳細(xì)內(nèi)容,更多關(guān)于Python標(biāo)準(zhǔn)庫(kù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論