Python 获取系统和进程 GPU 占用率并写入 CSV 文件
要获取系统GPU的占用率和某个进程的GPU占用率,可以使用Python中的psutil和pynvml库。psutil用于获取系统信息,而pynvml用于获取GPU信息。\n\n首先,需要安装这两个库,可以使用以下命令进行安装:\n\n\npip install psutil\npip install nvidia-ml-py3\n\n\n然后,可以使用以下代码获取系统GPU的占用率和某个进程的GPU占用率,并将结果写入.csv文件:\n\npython\nimport psutil\nimport csv\nfrom pynvml import *\n\n\ndef get_gpu_usage():\n nvmlInit()\n device_count = nvmlDeviceGetCount()\n gpu_usage = []\n for i in range(device_count):\n handle = nvmlDeviceGetHandleByIndex(i)\n utilization = nvmlDeviceGetUtilizationRates(handle)\n gpu_usage.append(utilization.gpu)\n nvmlShutdown()\n return gpu_usage\n\n\ndef get_process_gpu_usage(pid):\n nvmlInit()\n handle = nvmlDeviceGetHandleByIndex(0)\n process_info = nvmlDeviceGetComputeRunningProcesses(handle)\n nvmlShutdown()\n for info in process_info:\n if info.pid == pid:\n return info.usedGpuMemory\n return 0\n\n\n# 获取系统GPU占用率\nsystem_gpu_usage = get_gpu_usage()\n\n# 获取某个进程的GPU占用率\nprocess_id = 12345 # 替换为你要监测的进程ID\nprocess_gpu_usage = get_process_gpu_usage(process_id)\n\n# 写入.csv文件\nwith open('gpu_usage.csv', 'w', newline='') as file:\n writer = csv.writer(file)\n writer.writerow(['System GPU Usage', 'Process GPU Usage'])\n writer.writerow([system_gpu_usage, process_gpu_usage])\n\n\n请确保你的系统中有支持NVIDIA GPU的显卡和驱动,并且已经正确安装了对应的CUDA和cuDNN库。
原文地址: https://www.cveoy.top/t/topic/pNc3 著作权归作者所有。请勿转载和采集!