python 获取系统gpu占用率和某个进程的gpu占用率并写入csv文件
要获取系统GPU的占用率和某个进程的GPU占用率,可以使用Python中的psutil和pynvml库。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库
原文地址: https://www.cveoy.top/t/topic/h4gr 著作权归作者所有。请勿转载和采集!