时间限制
为任务设置时间限制可以防止任务无限运行。当运行中的任务超过限制时,gflow 会终止它并标记为 Timeout(TO)。
设置时间限制
使用 gbatch:
bash
gbatch --time <TIME> python train.py在脚本中(指令):
bash
#!/bin/bash
# GFLOW --time 2:00:00
python train.py命令行参数优先于脚本指令。
时间格式
<TIME> 支持:
HH:MM:SS(例如2:30:00)MM:SS(例如5:30)MM分钟(例如30)
注意:单个数字表示分钟(所以 --time 30 是 30 分钟,不是 30 秒)。30 秒请用 0:30。
查看时间限制
bash
gqueue -f JOBID,NAME,ST,TIME,TIMELIMIT
gjob show <job_id>行为说明
- 计时从任务进入
Running开始(排队时间不计入)。 - 以周期方式检查(可能会略微超过精确限制)。
- 超时后会发送中断(Ctrl-C / SIGINT),并将状态切换为
Timeout(TO)。
故障排除
任务超时
增大限制并重新提交:
bash
gjob redo <job_id> --time 4:00:00任务比预期更早结束
检查格式(分钟 vs 秒):
bash
gbatch --time 0:30 sleep 1000 # 30 秒
gbatch --time 30 sleep 1000 # 30 分钟没有按时间限制终止
bash
ginfo
gqueue -j <job_id> -f JOBID,ST,TIMELIMIT