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

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

在Python中获取当前系统状态(当前CPU,RAM,可用磁盘空间等)的首选方法是什么?* nix和Windows平台的奖励积分。

似乎有一些可能的方法从我的搜索中提取:

  1. 使用像PSI这样的库(目前似乎没有积极开发并且在多个平台上不受支持)或像pystatgrab这样的东西(自2007年以来再没有活动似乎也不支持Windows)。

  2. 使用特定于平台的代码,例如os.popen("ps")在* nix系统中使用或类似代码,以及MEMORYSTATUS在Windows平台上使用ctypes.windll.kernel32(参见ActiveState上的此配方)。可以将Python类与所有这些代码片段放在一起。

并不是说这些方法很糟糕,但是已经有一个支持良好的多平台方式来做同样的事情了吗?


慕妹3146593
浏览 1699回答 3
3回答

慕斯709654

使用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脚本当前内存的使用。psutil的pypi页面上有一些更深入的例子。

慕桂英4014372

仅适用于Linux:仅使用stdlib依赖的RAM使用的单行:import os tot_m, used_m, free_m = map(int, os.popen('free -t -m').readlines()[-1].split()[1:])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python