Python 获取 GPU 和 CPU 占用率并导出到 CSV 文件
"import" psutil\nimport csv\nimport time\nimport GPUtil\n\n# 获取GPU占用率\ndef get_gpu_usage():\n gpus = GPUtil.getGPUs()\n gpu_usage = []\n for gpu in gpus:\n gpu_usage.append(gpu.load * 100)\n return gpu_usage\n\n# 获取指定进程的CPU占用率\ndef get_process_cpu_usage(process_name):\n for proc in psutil.process_iter(['pid', 'name', 'cpu_percent']):\n if proc.info['name'] == process_name:\n return proc.info['cpu_percent']\n return 0\n\n# 导入数据到CSV文件\ndef export_to_csv(data):\n with open('gpu_usage.csv', 'a', newline='') as file:\n writer = csv.writer(file)\n writer.writerow(data)\n\n# 主程序\nif name == 'main':\n process_name = 'your_process_name' # 替换为你要监测的进程名\n interval = 1 # 数据采集间隔,单位为秒\n\n while True:\n gpu_usage = get_gpu_usage()\n process_cpu_usage = get_process_cpu_usage(process_name)\n timestamp = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())\n\n data = [timestamp] + gpu_usage + [process_cpu_usage]\n export_to_csv(data)\n\n time.sleep(interval)\n\n为什么获取的系统gpu信息是nan内容:获取的系统GPU信息为NaN可能是由于以下几个原因:\n\n1. 未正确安装GPU驱动程序:确保已正确安装了相应的GPU驱动程序。可以通过运行nvidia-smi命令来检查GPU驱动程序是否正常安装。\n\n2. GPU不支持查询加载情况:有些较旧的GPU可能不支持查询加载情况。可以通过运行nvidia-smi -q命令来查看GPU的详细信息,确认是否支持查询加载情况。\n\n3. GPU驱动程序版本不兼容:如果GPU驱动程序版本过旧或过新,可能会导致查询加载情况时出现NaN。尝试更新或降低GPU驱动程序版本,以解决兼容性问题。\n\n4. GPU被其他进程占用:如果GPU正在被其他进程占用,可能导致查询加载情况时出现NaN。可以使用nvidia-smi命令或其他GPU管理工具来查看当前GPU的占用情况。\n\n如果以上方法都无法解决问题,建议检查系统和GPU驱动程序的配置,确保其正常工作。另外,还可以尝试使用其他方法或库来获取GPU的加载情况,如使用CUDA或PyTorch等库。
原文地址: https://www.cveoy.top/t/topic/pNcC 著作权归作者所有。请勿转载和采集!