我如何知道 slurm 上 运行 作业的实时内存使用情况?

How can I know the real-time memory usage of a running job on slurm?

我对 cpu 如何与记忆交流知之甚少,所以我不确定这是否是一个“正确”的问题。

在我提交给 slurm 集群的作业脚本中,该脚本需要从存储在工作字典中的数据库中读取数据。我想监控 运行 这个脚本使用的内存。

如何编写 bash 脚本来执行此操作?我试过 的脚本。然而,虽然作业是 运行,但文件中只有一行输出

AveCPU|AveRSS|MaxRSS

如何修改此脚本以输出实时内存使用情况?

我知道 sstat 命令,但我不确定 sstat -j $JOBID.batch --format=MaxVMSize 之类的命令是否可以解决我的问题。

Slurm 有一个插件,可以将作业的 'profile'(PCU 使用情况、内存使用情况等)记录到 HDF5 文件中。它包含每个测量项目的时间序列。

使用

#SBATCH --profile=<all|none|[energy[,|task[,|filesystem[,|network]]]]>

激活它。

请参阅文档 here