通过PID查询GPU内存使用情况和/或用户

JoJ*_*yne 0 bash cuda nvidia-smi

我有一个在不同 GPU 上运行的进程的 PID 列表。我想根据每个进程的 PID 获取其使用的 GPU 内存。nvidia-smi产生我想要的信息;但是,我不知道如何 grep 它,因为输出很复杂。我已经在寻找如何做到这一点,但我还没有找到任何直接的答案。

Pau*_* G. 5

虽然默认输出nvidia-smi是“复杂的”或者更确切地说是为了与人类而不是脚本交互而格式化的,但该命令提供了许多在脚本中使用的选项。最适合用例的似乎是--query-compute-apps=pid,used_memory指定您需要的信息并--format=csv,noheader,nounits指定最小的机器可读输出格式。

所以结果命令是

nvidia-smi --query-compute-apps=pid,used_memory --format=csv,noheader,nounits
Run Code Online (Sandbox Code Playgroud)

我建议您查看man nvidia-smi更多信息和选项。