我有一份运行由 slurm 管理的 Linux 机器的工作。 现在该作业已经运行了几个小时,我意识到我低估了它完成所需的时间,因此我指定的
--time
参数的值是不够的。有没有办法通过 slurm 为现有正在运行的作业添加时间?
使用 scontrol 命令修改作业
scontrol update jobid=<job_id> TimeLimit=<new_timelimit>
使用SLURM时间格式,例如。 8天15小时:
TimeLimit=8-15:00:00
在某些机器上需要管理员权限。
在大多数机器上,仅当作业尚未运行时才允许用户使用。
在上面提供的示例的基础上,您还可以使用“+”和“-”来递增/递减
TimeLimit
。
来自 [scontrol 手册页][https://slurm.schedmd.com/scontrol.html]:
指定新的时间限制值或在时间和等号前面加上“+”或“-”以增加或减少当前时间限制(例如“TimeLimit+=30”)
我们经常收到诸如“我需要 3 个小时才能完成工作 XXXXX!!!”之类的请求,这可以翻译为:
scontrol update job=XXXXX TimeLimit=+03:00:00
如果您尚未在 Slurm 作业脚本中指定 walltime,Slurm 通常会使用 Slurm 集群配置中指定的默认 walltime。要增加 Slurm 中正在运行的作业的 walltime,您可以使用 scontrol 命令修改作业的时间限制。这是您可以使用的命令:
s控制更新JobID=
将
例如: scontrol更新JobID=12345 TimeLimit=2-00:00:00
此示例将 ID 12345 的作业的挂起时间增加到 2 天。