我有几个用户(根据 /etc/passwd 的用户帐户)通过 SSH 连接到我管理的 Ubuntu 机器上。这是我的系统信息:
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal
硬件是带有 x2 NVidia GTX 970 GPU 卡的双插槽 Intel Xeon E3(总共 16 个内核)。机器内部硬盘空间大约有 6 TB。
每个用户都可以使用 tmux 执行一个在他们注销后仍然存在的进程。请注意,我没有像 SLURM 这样的工作经理这样复杂的东西。我远非如此,所以请不要建议。
任何人都可以推荐软件来监控用户的 CPU 和 GPU 使用情况并在给定的时间段内报告例如 1000 CPU/GPU 小时等?该软件必须能够记录用户、CPU和 GPU,如果可能的话,还可以记录执行的进程/软件。
sar
和sadf
(sysstat 包的一部分)之类的东西可以进行完整的 CPU 计算。然而,目前很少或没有工具可以提供良好的 gpu 核算。Slurm 只能通过限制和紧密调度 gpu 访问来做到这一点,而不是通过衡量实际使用情况。
如果要编写这样的系统,则需要使用 nvidia nvml 库。在过去的几年里,GPU 监控的 API 已经彻底改变了好几次,所以这样的工具需要经常重写以跟上 nvidia 驱动程序和 nvml 库的变化。