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

发布于 2021-02-02 23:18:28

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

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

  1. 使用PSI之类的库(目前似乎尚未积极开发并且在多个平台上不受支持)或pystatgrab之类的库(自2007年以来一直没有活动,它似乎也不支持Windows)。
  2. 使用特定于平台的代码,例如os.popen("ps")对于* nix系统使用a 或类似代码,对于Windows平台使用MEMORYSTATUSin ctypes.windll.kernel32(请参见ActiveState上的此配方)。可以将Python类与所有这些代码段放在一起。

并不是说这些方法不好,而是已经有一种受支持的,跨平台的方法来做同样的事情?

关注者
0
被浏览
108
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    psutil库将为你提供各种平台上的一些系统信息(CPU /内存使用情况):

    psutil是一个模块,提供了一个接口,该接口通过使用Python以可移植的方式检索有关正在运行的进程和系统利用率(CPU,内存)的信息,实现了ps,top和Windows任务管理器等工具提供的许多功能。

    它当前支持32位和64位体系结构的Linux,Windows,OSX,Sun Solaris,FreeBSD,OpenBSD和NetBSD,Python版本从2.6到3.5(Python 2.4和2.5的用户可以使用2.1.3版本)。

    更新:这是一些示例用法psutil

    #!/usr/bin/env python
    import psutil
    # gives a single float value
    psutil.cpu_percent()
    # gives an object with many fields
    psutil.virtual_memory()
    # you can convert that object to a dictionary 
    dict(psutil.virtual_memory()._asdict())
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看