如何在Python中获得当前CPU和RAM的使用量?

如何在Python中获得当前CPU和RAM的使用量?

获得当前系统状态的首选方法是什么(当前CPU、RAM、空闲磁盘空间等)用Python?*nix和Windows平台的加分。

似乎有几种可能的方法可以从我的搜索中提取出来:

  1. 使用库,例如PSI(目前似乎没有在多个平台上积极开发和支持)或类似的东西吡啶抓斗(同样,自2007年以来,似乎没有任何活动,也没有对Windows的支持)。

  2. 使用特定于平台的代码,例如使用os.popen("ps")或类似于*nix系统和MEMORYSTATUS在……里面ctypes.windll.kernel32(见这个关于ActiveState的食谱)适用于Windows平台。可以将Python类与所有这些代码片段放在一起。

这并不是说这些方法不好,但是是否已经有了一种支持良好的、多平台的方法来做同样的事情呢?


catspeake
浏览 697回答 3
3回答

繁花如伊

Psutil图书馆将为您提供各种平台上的一些系统信息(CPU/内存使用情况):psutil是一个模块,它提供了一个接口,通过使用Python以可移植的方式检索有关运行进程和系统利用率(CPU、内存)的信息,实现了PS、top和Windows任务管理器等工具提供的许多功能。它目前支持32位和64位架构的Linux、Windows、OSX、Sun Solaris、FreeBSD、OpenBSD和NetBSD,Python版本从2.6到3.5(Python2.4和2.5的用户可能使用2.1.3版本)。更新:下面是一些使用psutil:#!/usr/bin/env pythonimport psutil# gives a single float valuepsutil.cpu_percent() # gives an object with many fieldspsutil.virtual_memory()# you can convert that object to a dictionary dict(psutil.virtual_memory()._asdict())

喵喵时光机

只适用于Linux:只有stdlib依赖项的RAM使用的一行:import os tot_m, used_m, free_m = map(int, os.popen('free -t -m').readlines()[-1].split()[1:])编辑:指定的解决方案OS依赖项
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python