如何在Python中獲取當(dāng)前的CPU和RAM使用率?在Python中獲取當(dāng)前系統(tǒng)狀態(tài)(當(dāng)前CPU,RAM,可用磁盤空間等)的首選方法是什么?* nix和Windows平臺(tái)的獎(jiǎng)勵(lì)積分。似乎有一些可能的方法從我的搜索中提?。菏褂孟馪SI這樣的庫(kù)(目前似乎沒(méi)有積極開(kāi)發(fā)并且在多個(gè)平臺(tái)上不受支持)或像pystatgrab這樣的東西(自2007年以來(lái)再?zèng)]有活動(dòng)似乎也不支持Windows)。使用特定于平臺(tái)的代碼,例如os.popen("ps")在* nix系統(tǒng)中使用或類似代碼,以及MEMORYSTATUS在Windows平臺(tái)上使用ctypes.windll.kernel32(參見(jiàn)ActiveState上的此配方)。可以將Python類與所有這些代碼片段放在一起。并不是說(shuō)這些方法很糟糕,但是已經(jīng)有一個(gè)支持良好的多平臺(tái)方式來(lái)做同樣的事情了嗎?
3 回答

慕斯709654
TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊
使用psutil庫(kù)。在Ubuntu 18.04上,從1-30-2019開(kāi)始,pip安裝了5.5.0(最新版本)。較舊的版本可能會(huì)有所不同。您可以通過(guò)在Python中執(zhí)行此操作來(lái)檢查您的psutil版本:
from __future__ import print_function # for Python2import psutilprint(psutil.__versi?on__)
獲取一些內(nèi)存和CPU統(tǒng)計(jì)信息:
from __future__ import print_functionimport psutilprint(psutil.cpu_percent())print(psutil.virtual_memory()) # physical memory usageprint('memory % used:', psutil.virtual_memory()[2])
所述virtual_memory
(元組)將具有使用全系統(tǒng)的百分比存儲(chǔ)器。在Ubuntu 18.04上,我似乎高估了幾個(gè)百分點(diǎn)。
您還可以獲取當(dāng)前Python實(shí)例使用的內(nèi)存:
import osimport psutil pid = os.getpid()py = psutil.Process(pid)memoryUse = py.memory_info()[0]/2.**30 # memory use in GB...I thinkprint('memory use:', memoryUse)
它給出了Python腳本當(dāng)前內(nèi)存的使用。
psutil的pypi頁(yè)面上有一些更深入的例子。

慕桂英4014372
TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
僅適用于Linux:僅使用stdlib依賴的RAM使用的單行:
import os tot_m, used_m, free_m = map(int, os.popen('free -t -m').readlines()[-1].split()[1:])
添加回答
舉報(bào)
0/150
提交
取消