【问题标题】:slurm: produce stats job in log filesslurm:在日志文件中生成统计作业
【发布时间】:2019-03-26 12:15:57
【问题描述】:

我使用slurm 在集群上运行作业。我想获得有关该工作的统计信息,例如已用内存、处理器数量和挂墙时间。我想在日志文件中获取此类信息。我认为 LSF 可以做到这一点(如果我没记错的话,我不会与其他平台混淆)。

【问题讨论】:

    标签: cluster-computing hpc slurm


    【解决方案1】:

    您可以从 Slurm 数据库中获取此信息,请参阅 https://slurm.schedmd.com/sacct.htmlFind out the CPU time and memory usage of a slurm job。例如。 sacct --jobs=12345 --format=NCPUS,MaxRSS,CPUTime.

    注意:您可以将其添加到 Epilog 脚本中。以下是epilog.srun 的示例:

    #!/bin/sh
    TMPDIR="/local"
    
    # Append job usage info to job stdout
    stdoutfname=`scontrol show job ${SLURM_JOB_ID} --details | grep "StdOut=" | sed -e 's/.*StdOut=\([^\s][^\s]*\)/\1/'`
    
    if [ -w "${stdoutfname}" ] && [ "${QTMPDIR}" != "" ]; then
      sacct --format JobID,jobname,AveCPUFreq,AveDiskRead,AveRSS,cputime,MaxDiskWrite  -j ${SLURM_JOB_ID} >> ${stdoutfname}
    

    或者,您可以在脚本中使用/usr/bin/time -v <your command>time 的完整路径,请参阅https://stackoverflow.com/a/774601/6352677)。这将在日志中,但与 Slurm 的会计值不完全匹配。

    【讨论】:

      猜你喜欢
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 2015-08-20
      • 1970-01-01
      • 2016-05-12
      • 2018-09-15
      • 2012-06-18
      相关资源
      最近更新 更多