SLURM:从脚本访问 walltime 限制

Jul*_*ich 3 qsub slurm

是否可以从 SLURM 脚本中访问 walltime 限制?对于 PBS Torque,这里已经回答这个问题。SLURM 是否有类似的环境值?

Tho*_*spe 5

在SLURM的walltime限制设置与--time

#SBATCH --time=10:42:00
Run Code Online (Sandbox Code Playgroud)

这个值可以通过squeue访问,特别是通过%l格式说明符:

$ squeue -h -j $SLURM_JOBID -o "%l"
10:42:00
$
Run Code Online (Sandbox Code Playgroud)

还有一个%L格式说明符,用于打印作业执行的剩余时间:

$ squeue -h -j $SLURM_JOBID -o "%L"
10:38:29
$
Run Code Online (Sandbox Code Playgroud)

-h选项禁止打印在输出标头的。

来自man squeue

%l作业或作业步骤的时间限制,以天-小时:分钟:秒为单位。如果尚未建立,则该值可能是“NOT_SET”,或者没有限制的“UNLIMITED”。(适用于作业和作业步骤)

%L 作业执行的剩余时间,以天-小时:分钟:秒为单位。该值是通过从其时间限制中减去作业使用的时间来计算的。如果尚未建立,则该值可能是“NOT_SET”,或者没有限制的“UNLIMITED”。(仅适用于工作)

%M作业或作业步骤使用的时间,以天-小时:分钟:秒为单位。仅在需要时打印天数和小时数。对于作业步骤,此字段显示自执行开始以来经过的时间,因此对于已暂停的作业步骤将不准确。集群中节点之间的时钟偏差会导致时间不准确。如果时间明显错误(例如负数),则显示为“无效”。(适用于作业和作业步骤)

在 slurm 17.02.2 上测试