为正在运行的 slurm 作业添加时间

问题描述 投票:0回答:3

我有一份运行由 slurm 管理的 Linux 机器的工作。 现在该作业已经运行了几个小时,我意识到我低估了它完成所需的时间,因此我指定的

--time
参数的值是不够的。有没有办法通过 slurm 为现有正在运行的作业添加时间?

slurm
3个回答
141
投票

使用 scontrol 命令修改作业

scontrol update jobid=<job_id> TimeLimit=<new_timelimit>

使用SLURM时间格式,例如。 8天15小时:

TimeLimit=8-15:00:00

在某些机器上需要管理员权限。

在大多数机器上,仅当作业尚未运行时才允许用户使用。


5
投票

在上面提供的示例的基础上,您还可以使用“+”和“-”来递增/递减

TimeLimit

来自 [scontrol 手册页][https://slurm.schedmd.com/scontrol.html]:

指定新的时间限制值或在时间和等号前面加上“+”或“-”以增加或减少当前时间限制(例如“TimeLimit+=30”)

我们经常收到诸如“我需要 3 个小时才能完成工作 XXXXX!!!”之类的请求,这可以翻译为:

scontrol update job=XXXXX TimeLimit=+03:00:00

0
投票

如果您尚未在 Slurm 作业脚本中指定 walltime,Slurm 通常会使用 Slurm 集群配置中指定的默认 walltime。要增加 Slurm 中正在运行的作业的 walltime,您可以使用 scontrol 命令修改作业的时间限制。这是您可以使用的命令:

s控制更新JobID=时间限制=

替换为您要修改的作业的实际作业 ID,并将 替换为您要为该作业设置的新挂起时间。确保您拥有修改作业所需的权限,因为这可能需要管理权限或作业所有权。

例如: scontrol更新JobID=12345 TimeLimit=2-00:00:00

此示例将 ID 12345 的作业的挂起时间增加到 2 天。

© www.soinside.com 2019 - 2024. All rights reserved.