使用 python 获取硬件信息

本文最后更新于 2024年11月5日 晚上

1. 获取内存信息

1.1. 使用 psutil 获取内存信息

psutil 为 python 内置组件,不需要安装

可以应用于获取实时内存占用等场景

  1. 引用 psutil

    1
    import psutil
  2. 获取物理内存信息

    1
    2
    3
    virtual_memory_status = psutil.virtual_memory()
    # 转为字典格式
    virtual_memory_status = psutil.virtual_memory()._asdict()
  3. 获取交换内存信息

    1
    2
    3
    swap_memory_status = psutil.virtual_memory()
    # 转为字典格式
    swap_memory_status = psutil.virtual_memory()._asdict()

2. 获取 CPU 信息

2.1. 使用 py-cpuinfo 获取 CPU 信息

  1. 安装 py-cpuinfo

    1
    pip install py-cpuinfo
  2. 引用 py-cpuinfo

    1
    import cpuinfo
  3. 获取 CPU 信息

    1
    cpu_info = cpuinfo.get_cpu_info()

2.2. 使用 psutil 获取 CPU 使用率

psutil 为 python 内置组件,不需要安装

可以应用于获取实时 CPU 使用率等场景

  1. 引用 psutil

    1
    import psutil
  2. 获取 CPU 使用率

    1
    cpu_percent = psutil.cpu_percent()

3. 获取 GPU 信息

3.1. 使用 gpustat 获取 GPU 信息

可以应用于实时获取 显存 占用等场景

  1. 安装 gpustat

    1
    pip install gpustat
  2. 引用 gpustat

    1
    import gpustat
  3. 获取 gpu 信息

    1
    gpu_info = gpustat.GPUStatCollection.new_query().jsonify()['gpus'][0]

输出参考

1
2
# 源于 Colab 的 GPU
{'index': 0, 'uuid': 'GPU-ce995437-a7da-2750-8e6b-3029bff55ef4', 'name': 'NVIDIA A100-SXM4-40GB', 'temperature.gpu': 32, 'fan.speed': None, 'utilization.gpu': 0, 'utilization.enc': 0, 'utilization.dec': 0, 'power.draw': 50, 'enforced.power.limit': 400, 'memory.used': 446, 'memory.total': 40960, 'processes': []}

3.2. 使用 numba 获取 NVIDIA GPU 名称

  1. 安装 numba

    1
    pip install numba
  2. 从 numba 引用 cuda

    1
    from numba import cuda
  3. 判断是否有 NVIDIA GPU

    1
    cuda.is_available()
  4. 获取 NVIDIA GPU 名称

    1
    gpu_name = cuda.get_current_device()

使用 python 获取硬件信息
https://blog.cc01cc.cn/2023/03/16/python-hardware-info/
作者
零一/cc01cc(zeo)
发布于
2023年3月16日
许可协议