跳到主要内容

qsub

提交作业到FSCHED调度系统。通过此命令可配置作业资源、依赖关系及输出设置等参数,替代SGE环境中的qsub功能。


参数说明

基础参数

参数类型用途示例值
-a必填请求作业开始时间(ISO8601格式如"YYYY-MM-DDTHH:MM")"2024-01-15T18:00"
-A必填指定会计记录账户名"research_group_01"
-b必填将命令视为二进制执行(y/n,默认n)y

路径与环境

参数类型用途示例值
-cwd无参数使用当前工作目录作为作业路径-
-wd必填显式指定绝对或相对路径(非绝对路径自动拼接)"/work/my_dir"

输出与合并

参数类型用途示例值
-e必填指定标准错误输出路径(若与-j y同时使用则被忽略)"error.log"
-o必填指定标准输出路径"output.txt"
-j必填合并标准输出和错误流(y/n,默认n)y

资源与优先级

参数类型用途示例值
-l必填请求资源(如mem_free=1G,hostname=node01,num_proc=4),需配合-hard/-soft定义条件类型"num_proc=8"
-pe2参数必填并行环境及槽位范围,格式:<环境名> <起止区间>(支持mpi/smp"smp 4-8"
-p必填设置作业优先级(-1023~1024,默认由系统决定)500

任务与数组

参数类型用途示例值
-t必填定义任务数组范围,支持格式:<起始>-<结束>[:步长]"1-5:2"

依赖与验证

参数类型用途示例值
-hold_jid必填设置作业依赖,参数为逗号分隔的前序作业ID列表"123,456"
-hard无参数标记后续资源/队列请求为硬性条件(默认行为)-
-soft无参数标记后续资源/队列请求为软性条件-

环境变量

参数类型用途示例值
-v必填设置环境变量(如VAR=value,未指定值则继承当前环境)"DEBUG=1,LOG_LEVEL"

队列与重试

参数类型用途示例值
-q必填绑定作业到特定队列(自动去除.q后缀)"compute"
-r必填设置作业能否重新运行(y/n,默认由系统决定)n

不支持的功能

以下参数在FSCHED中无实际作用:

  • -notify(FSCHED无通知功能)
  • -V(环境变量默认已导出)
  • -tc(并发任务限制未实现)
  • -shell(登录壳执行不可用)

示例

基础提交

qsub -N myjob -o out.txt script.sh  # 提交并指定输出文件名

资源与依赖

qsub -l num_proc=4 -hard job.sh     # 硬性要求4核CPU
qsub -hold_jid=123 analysis.py # 在作业ID=123完成后执行

并行任务

qsub -pe mpi 8 code.py              # 启动MPI并行环境,分配8槽位
qsub -t 1-5:2 array.sh # 创建步长为2的任务数组(ID:1,3,5)

高级配置

qsub -a "2024-01-15T18:00" -p 500 delay_job.sh   # 设置开始时间和优先级
qsub -v "DEBUG=1" -cwd test.sh # 继承环境变量并使用当前目录

注意事项

  1. 路径处理:未指定-wd/-cwd时默认使用用户主目录,相对路径自动拼接为绝对路径。
  2. 资源条件-hard是默认行为,需在软性设置后显式使用重新启用硬性条件。
  3. 环境覆盖:通过-v定义的变量会覆盖脚本内定义值,所有环境变量均自动导出。
  4. 作业名称:未指定-N时系统将自动生成默认名称(如job_12345)。