首页 > 解决方案 > 如何检查 SLURM 批处理作业中仍在运行哪些任务?

问题描述

在 SLURM 中调度批处理作业时,例如

sbatch -N 10 batch-script.sh
#!/bin/bash
#SBATCH --job-name=jobname

srun --label /usr/bin/hostname

可以检查当前正在运行的步骤sacct

       JobID    JobName  Partition    Account  AllocCPUS      State ExitCode
------------ ---------- ---------- ---------- ---------- ---------- --------
...
421.1        hostname                  test         10    RUNNING      0:0

但是如何检查当前步骤中哪些任务/节点仍在运行以及哪些已完成?(在这种情况下,每个节点只有 1 个任务。)我在文档中找到的唯一选项是设置--task-epilog命令并在每个任务完成时记录一些内容。

例如,很高兴看到 10 个节点中有 8 个已经完成了它们的任务,并且node03仍在node08运行它们的任务。

标签: slurm

解决方案


squeue您可以使用该命令查看哪些节点处于活动状态。要仅筛选您可以执行的作业squeue -u [yourname]。要始终保持更新,您可以这样做watch -n 1 "squeue -u [yourname]"


推荐阅读