为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Python中获取当前的CPU和RAM使用率?

如何在Python中获取当前的CPU和RAM使用率?

慕妹3146593 2019-08-09 11:29:51
如何在Python中获取当前的CPU和RAM使用率?在Python中获取当前系统状态(当前CPU,RAM,可用磁盘空间等)的首选方法是什么?* nix和Windows平台的奖励积分。似乎有一些可能的方法从我的搜索中提取:使用像PSI这样的库(目前似乎没有积极开发并且在多个平台上不受支持)或像pystatgrab这样的东西(自2007年以来再没有活动似乎也不支持Windows)。使用特定于平台的代码,例如os.popen("ps")在* nix系统中使用或类似代码,以及MEMORYSTATUS在Windows平台上使用ctypes.windll.kernel32(参见ActiveState上的此配方)。可以将Python类与所有这些代码片段放在一起。并不是说这些方法很糟糕,但是已经有一个支持良好的多平台方式来做同样的事情了吗?
查看完整描述

3 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

使用psutil库。在Ubuntu 18.04上,从1-30-2019开始,pip安装了5.5.0(最新版本)。较旧的版本可能会有所不同。您可以通过在Python中执行此操作来检查您的psutil版本:

from __future__ import print_function  # for Python2import psutilprint(psutil.__versi‌on__)

获取一些内存和CPU统计信息:

from __future__ import print_functionimport psutilprint(psutil.cpu_percent())print(psutil.virtual_memory())  # physical memory usageprint('memory % used:', psutil.virtual_memory()[2])

所述virtual_memory(元组)将具有使用全系统的百分比存储器。在Ubuntu 18.04上,我似乎高估了几个百分点。

您还可以获取当前Python实例使用的内存:

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脚本当前内存的使用。

psutilpypi页面上有一些更深入的例子。


查看完整回答
反对 回复 2019-08-09
?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

仅适用于Linux:仅使用stdlib依赖的RAM使用的单行:

import os
tot_m, used_m, free_m = map(int, os.popen('free -t -m').readlines()[-1].split()[1:])


查看完整回答
反对 回复 2019-08-09
  • 3 回答
  • 0 关注
  • 1698 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信