濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > Python使用psutil對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行采集監(jiān)控

Python使用psutil對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行采集監(jiān)控

熱門標(biāo)簽:百度地圖標(biāo)注沒有了 地圖標(biāo)注審核表 宿遷星美防封電銷卡 外呼并發(fā)線路 湛江智能外呼系統(tǒng)廠家 ai電銷機(jī)器人源碼 西藏房產(chǎn)智能外呼系統(tǒng)要多少錢 長沙高頻外呼系統(tǒng)原理是什么 ai電話機(jī)器人哪里好

今天給大家介紹一個(gè)可以獲取當(dāng)前系統(tǒng)信息的庫——psutil

利用psutil庫可以獲取系統(tǒng)的一些信息,如cpu,內(nèi)存等使用率,從而可以查看當(dāng)前系統(tǒng)的使用情況,實(shí)時(shí)采集這些信息可以達(dá)到實(shí)時(shí)監(jiān)控系統(tǒng)的目的。

psutil庫

psutil的安裝很簡單

pip install psutil

psutil庫可以獲取哪些系統(tǒng)信息?

psutil有哪些作用
1.內(nèi)存使用情況
2.磁盤使用情況
3.cpu使用率
4.網(wǎng)絡(luò)接口發(fā)送接收流量
5.獲取當(dāng)前網(wǎng)速
6.系統(tǒng)當(dāng)前進(jìn)程
...下面通過具體代碼案例進(jìn)行演示

內(nèi)存使用情況

import psutil
#內(nèi)存
mem = psutil.virtual_memory()
# 系統(tǒng)總計(jì)內(nèi)存
zj = float(mem.total) / 1024 / 1024 / 1024
# 系統(tǒng)已經(jīng)使用內(nèi)存
ysy = float(mem.used) / 1024 / 1024 / 1024
# 系統(tǒng)空閑內(nèi)存
kx = float(mem.free) / 1024 / 1024 / 1024
print('系統(tǒng)總計(jì)內(nèi)存:%d.4GB' % zj)
print('系統(tǒng)已經(jīng)使用內(nèi)存:%d.4GB' % ysy)
print('系統(tǒng)空閑內(nèi)存:%d.4GB' % kx)

獲取當(dāng)前系統(tǒng)總內(nèi)存,已使用內(nèi)存,以及空閑內(nèi)存

這里獲取的內(nèi)存是的單位是字節(jié),所以需要通過除以1024轉(zhuǎn)為G,下面同樣如此就不再重復(fù)解釋。

獲取系統(tǒng)cpu信息

#顯示cpu所有邏輯信息
print(psutil.cpu_times(percpu=True))
# 查看cpu邏輯個(gè)數(shù)的信息
print(u"邏輯CPU個(gè)數(shù): %s" % psutil.cpu_count())
# 查看cpu物理個(gè)數(shù)的信息
print(u"物理CPU個(gè)數(shù): %s" % psutil.cpu_count(logical=False))
#CPU的使用率
cpu = (str(psutil.cpu_percent(1))) + '%'
print(u"cup使用率: %s" % cpu)

獲取cpu信息,以及本機(jī)cpu個(gè)數(shù)(包括邏輯cpu數(shù)和物理cpu數(shù)),當(dāng)前的cpu使用率(每隔1秒獲取一次,獲取查看實(shí)時(shí)cpu使用率情況)

系統(tǒng)磁盤使用情況

part = psutil.disk_partitions()
for i in part:
    print(i)
dk = psutil.disk_usage('/')
print(dk)
#總磁盤
total = dk.total / 1024 / 1024 / 1024
used = dk.used / 1024 / 1024 / 1024
free = dk.free / 1024 / 1024 / 1024
print('系統(tǒng)總計(jì)磁盤:%d.3GB' % total)
print('系統(tǒng)已經(jīng)使用磁盤:%d.3GB' % used)
print('系統(tǒng)空閑磁盤:%d.3GB' % free)
print(u"磁盤使用率: %s%%" % dk.percent)
# 獲取磁盤總的io個(gè)數(shù),讀寫信息
print(psutil.disk_io_counters())

前面幾行是當(dāng)前系統(tǒng)可以訪問的磁盤信息

其中第1行mountpoint='/',表示當(dāng)前本機(jī)默認(rèn)磁盤

其中第6行mountpoint='/Volumes/Extreme SSD',表示外接固態(tài)移動(dòng)硬盤

這里以本機(jī)磁盤mountpoint='/'為例,查看磁盤的使用情況(總?cè)萘?,已使用,空閑容量,使用率)

最后一行的每一個(gè)字段的含義如下:

"""
    read_count 讀IO數(shù)
    write_count 寫IO數(shù)
    read_bytes 讀IO字節(jié)數(shù)
    write_bytes 寫IO字節(jié)數(shù)
    read_time 磁盤讀時(shí)間
    write_time 磁盤寫時(shí)間
"""

獲取系統(tǒng)網(wǎng)卡信息

# 獲取網(wǎng)絡(luò)總IO信息
print(psutil.net_io_counters())
# 發(fā)送數(shù)據(jù)包
print("發(fā)送數(shù)據(jù)字節(jié):", psutil.net_io_counters().bytes_sent,"bytes")
#接收數(shù)據(jù)包
print("接收數(shù)據(jù)字節(jié):",psutil.net_io_counters().bytes_recv,"bytes")
# 輸出網(wǎng)絡(luò)每個(gè)接口信息
net_counter = psutil.net_io_counters(pernic=True)
for i in net_counter:
    print("網(wǎng)卡:"+i+" ,網(wǎng)卡信息:",net_counter[i])

可以獲取到當(dāng)前本機(jī)中存在哪些網(wǎng)卡,以及發(fā)送和接收的流量是多少

通過在終端中查看本機(jī)的網(wǎng)卡是否一致

mac和linux系統(tǒng)命令:ifconfig

window系統(tǒng)命令:ipconfig

部分截圖如下:

可以看到程序獲取的網(wǎng)卡數(shù)據(jù)和本機(jī)終端獲取是一致的

獲取當(dāng)前網(wǎng)速

通過上面的程序獲取網(wǎng)卡發(fā)送和接收的流量來獲取當(dāng)前網(wǎng)速

s1 = psutil.net_io_counters(pernic=True)['en0']
time.sleep(1)
s2 = psutil.net_io_counters(pernic=True)['en0']
result = s2.bytes_recv - s1.bytes_recv
print(str('%d' % (result / 1024)) + 'kb/s')

代碼中的['en0']表示獲取en0網(wǎng)卡的數(shù)據(jù),因?yàn)槌礁绫緳C(jī)的網(wǎng)卡是en0

最后可以看到獲取當(dāng)前網(wǎng)速情況

每個(gè)1秒執(zhí)行該代碼可以實(shí)現(xiàn)實(shí)時(shí)獲取網(wǎng)速

其他功能

# 系統(tǒng)開機(jī)時(shí)間
# 轉(zhuǎn)換成自然時(shí)間格式
print(datetime.datetime.fromtimestamp(psutil.boot_time ()).strftime("%Y-%m-%d %H: %M: %S"))
#獲取當(dāng)前系統(tǒng)用戶登錄信息
users = psutil.users()
for i in users:
    print(i)

可以獲取到本機(jī)開機(jī)時(shí)間,以及當(dāng)前使用的用戶

以上就是Python使用psutil對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行采集監(jiān)控的詳細(xì)內(nèi)容,更多關(guān)于python使用psutil對(duì)系統(tǒng)數(shù)據(jù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • python psutil庫的使用示例
  • 基于python調(diào)用psutil模塊過程解析
  • Python監(jiān)控服務(wù)器實(shí)用工具psutil使用解析
  • Python使用psutil獲取進(jìn)程信息的例子
  • python psutil監(jiān)控進(jìn)程實(shí)例
  • Python中psutil的介紹與用法
  • Python運(yùn)維開發(fā)之psutil庫的使用詳解

標(biāo)簽:普洱 大同 海南 寧夏 盤錦 林芝 南平 漯河

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python使用psutil對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行采集監(jiān)控》,本文關(guān)鍵詞  Python,使用,psutil,對(duì),系統(tǒng),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python使用psutil對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行采集監(jiān)控》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python使用psutil對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行采集監(jiān)控的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    乌鲁木齐县| 巴东县| 湖南省| 保德县| 蓬溪县| 宝鸡市| 高密市| 弥渡县| 瑞丽市| 眉山市| 德阳市| 宁波市| 开化县| 时尚| 玉树县| 丰宁| 登封市| 西城区| 津南区| 渝中区| 龙胜| 建瓯市| 石家庄市| 潜山县| 辽源市| 建宁县| 昌吉市| 乌审旗| 牡丹江市| 塔河县| 长沙市| 封丘县| 天水市| 阳西县| 手游| 文山县| 泾源县| 兴安盟| 芷江| 友谊县| 宿松县|