如何监控用户的 CPU 和 GPU 使用情况?

如何监控用户的 CPU 和 GPU 使用情况?

我有几个用户(用户账户按照 /etc/passwd 进行设置)通过 SSH 连接到我管理的 Ubuntu 机器。这是我的系统信息:

Distributor ID: Ubuntu
Description:    Ubuntu 20.04.3 LTS
Release:    20.04
Codename:   focal

硬件是双插槽 Intel Xeon E3(总共 16 个内核),配备 2 个 NVidia GTX 970 GPU 卡。机器内部硬盘空间约为 6 TB。

每个用户都可以使用 tmux 执行一个在他们注销后仍会继续存在的进程。请注意,我没有任何复杂的工具,例如像 SLURM 这样的作业管理器;我离这个还差得很远,所以请不要建议。

有人能推荐一款软件来监控用户的 CPU 和 GPU 使用情况,并报告给定时间段内的 CPU/GPU 小时数等吗?该软件必须能够记录用户、CPU和 GPU,如果可能的话,还应包括执行的流程/软件。

答案1

类似sarsadf(sysstat 包的一部分)可以进行完整的 CPU 统计。

然而,目前很少有工具可以提供良好的 GPU 统计。Slurm 只能通过限制和严格调度 GPU 访问来实现这一点,而不能通过测量实际使用情况来实现。

如果要编写这样的系统,则需要使用 nvidia nvml 库。过去几年中,用于 gpu 监控的 API 已经彻底改变了好几次,因此这样的工具需要频繁重写才能跟上 nvidia 驱动程序和 nvml 库的变化。

相关内容