Slurm 提供了一个插件,用于将作业的配置文件(PCU 使用情况、内存使用情况,甚至某些技术的磁盘/网络 IO)记录到 HDF5 文件中。该文件包含跟踪的每个度量的时间序列,您可以选择时间分辨率。
您可以使用以下命令激活它
#SBATCH --profile=<all|none|[energy[,|task[,|filesystem[,|network]]]]>
查看文档here https://slurm.schedmd.com/hdf5_profile_user_guide.html.
要检查该插件是否已安装,请运行
scontrol show config | grep AcctGatherProfileType
应该输出AcctGatherProfileType = acct_gather_profile/hdf5
.
这些文件是在引用的文件夹中创建的ProfileHDF5Dir
Slurm 配置参数(在slurm.conf
)
至于你的脚本,你可以尝试替换sstat
通过 SSH 连接到要运行的计算节点ps
。假设pdsh
or clush
安装后,您可以运行如下命令:
pdsh -j $SLURM_JOB_ID ps -u $USER -o pid,state,cputime,%cpu,rssize,command --columns 100 >> usage.txt
这将为您提供每个进程的 CPU 和内存使用情况。
最后一点,你的工作永远不会终止,因为它会在以下情况下终止:while
循环终止,并且while
当作业终止时循环将终止...条件"$JobStatus" == "COMPLETED"
永远不会从脚本内部观察到。作业完成后,脚本将被终止。