要获取系统GPU的占用率和某个进程的GPU占用率,可以使用Python中的psutilpynvml库。psutil用于获取系统信息,而pynvml用于获取GPU信息。

首先,需要安装这两个库,可以使用以下命令进行安装:

pip install psutil
pip install nvidia-ml-py3

然后,可以使用以下代码获取系统GPU的占用率和某个进程的GPU占用率,并将结果写入.csv文件:

import psutil
import csv
from pynvml import *


def get_gpu_usage():
    nvmlInit()
    device_count = nvmlDeviceGetCount()
    gpu_usage = []
    for i in range(device_count):
        handle = nvmlDeviceGetHandleByIndex(i)
        utilization = nvmlDeviceGetUtilizationRates(handle)
        gpu_usage.append(utilization.gpu)
    nvmlShutdown()
    return gpu_usage


def get_process_gpu_usage(pid):
    nvmlInit()
    handle = nvmlDeviceGetHandleByIndex(0)
    process_info = nvmlDeviceGetComputeRunningProcesses(handle)
    nvmlShutdown()
    for info in process_info:
        if info.pid == pid:
            return info.usedGpuMemory
    return 0


# 获取系统GPU占用率
system_gpu_usage = get_gpu_usage()

# 获取某个进程的GPU占用率
process_id = 12345  # 替换为你要监测的进程ID
process_gpu_usage = get_process_gpu_usage(process_id)

# 写入.csv文件
with open('gpu_usage.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(['System GPU Usage', 'Process GPU Usage'])
    writer.writerow([system_gpu_usage, process_gpu_usage])

请确保你的系统中有支持NVIDIA GPU的显卡和驱动,并且已经正确安装了对应的CUDA和cuDNN库

python 获取系统gpu占用率和某个进程的gpu占用率并写入csv文件

原文地址: https://www.cveoy.top/t/topic/h4gr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录