跳到主要内容

qrsh

提交交互式作业到FSCHED调度系统。


参数介绍

基础选项

选项是否需要值取值范围功能描述主要差异
-by/n(不区分大小写)将命令作为二进制可执行文件运行无差异
-N字符串(不含空格)作业名称无差异
-cwd使用当前工作目录无差异
-verify验证模式,不实际提交作业,打印作业属性无差异
-@文件路径从文件读取选项无差异

账户与项目

选项是否需要值取值范围功能描述主要差异
-A账户名称指定账户名称无差异

调度与队列

选项是否需要值取值范围功能描述主要差异
-q队列名称队列名称无差异
-h提交后将作业置于hold状态无差异
-masterq队列列表主队列(用于并行作业)参数被接受,但无实际功能

资源请求

选项是否需要值取值范围功能描述主要差异
-lresource=value,...资源需求列表,多个资源用逗号分隔支持mem_freeh_rtnum_prochostname,使用时需确认FSCHED 配置
-pepe_name n并行环境及slots数量,空格分隔无差异

优先级

选项是否需要值取值范围功能描述主要差异
-p-1023到1024作业优先级无差异
-js非负整数作业份额(job share)。SGE的js越大优先级越高映射为nice值:nice=-(js/10)

交互式执行控制

选项是否需要值取值范围功能描述主要差异
-ptyy/n(默认:无命令=y,有命令=n)分配伪终端无差异
-inherit继承已有作业分配需设置SLURM_JOB_ID环境变量(SGE使用JOB_ID
-nostdin不提供标准输入到作业无差异
-nowy/n立即运行或失败无差异

邮件通知

选项是否需要值取值范围功能描述主要差异
-mb/e/a/s/n的组合邮件通知选项无差异
-M邮箱地址邮件接收地址无差异

作业依赖

选项是否需要值取值范围功能描述主要差异
-hold_jidjob_id,...(逗号分隔)指定作业依赖关系,多个ID用逗号分隔仅支持数字job ID,不支持作业名称解析(SGE支持)
-hold_jid_adjob_id,...(逗号分隔)指定数组作业依赖关系,多个ID用逗号分隔仅支持数字job ID,不支持作业名称解析(SGE支持)

环境变量和上下文

选项是否需要值取值范围功能描述主要差异
-vVAR[=value],...导出指定环境变量。支持逗号分隔多个变量无差异
-V导出所有环境变量默认传递所有环境变量(相当于默认-V
-acvar[=value],...添加上下文变量存储在作业comment字段,格式:CONTEXT:var=value(不影响调度)
-dcvar,...删除上下文变量存储在作业comment字段中
-scvar=value,...设置上下文变量(替换所有)存储在作业comment字段中

资源请求控制

选项是否需要值取值范围功能描述主要差异
-hard硬性资源请求模式。后续-l-q选项会被解析无差异(默认为hard模式)
-soft软资源请求(尽量满足但不强制)后续-l-q选项会被忽略

作业执行控制

选项是否需要值取值范围功能描述主要差异
-wd目录路径工作目录。支持相对路径和绝对路径无差异
-we/w/n/v/p验证选项v等同于-verify
-notify在终止/暂停前通知作业参数被接受,但无实际功能
-noshell不使用shell包装参数被接受,但无实际功能

其它选项

选项是否需要值取值范围功能描述主要差异
--help显示帮助信息无差异
--version显示版本信息无差异

使用示例

示例1:基础交互式作业

qrsh -N myjob hostname
  • 效果:提交交互式作业并获取主机名。

示例2:指定资源需求

qrsh -l num_proc=4,mem_free=8G my_program
  • 效果:要求4核CPU和8GB内存。
  • 说明:多个资源用逗号分隔。

示例3:不分配伪终端

qrsh -pty n hostname
  • 效果:不分配PTY。

示例4:继承已有作业

qrsh -inherit node01 hostname
  • 效果:在已有作业分配的节点上执行命令。
  • 要求:必须在已有作业内执行。

示例5:设置作业依赖

qrsh -hold_jid 12345,12346 my_script.sh
  • 效果:等待作业ID=12345和12346都完成后执行。

示例6:设置作业hold

qrsh -h myjob.sh
  • 效果:提交后作业处于hold状态,需要手动释放。

示例7:验证模式

qrsh -verify -N testjob -l num_proc=4 hostname
  • 效果:验证作业配置,打印作业属性但不实际提交。

示例8:设置环境变量

qrsh -v DEBUG=1,WORKERS=4 python script.py
  • 效果:导出环境变量到作业。

示例9:从文件读取选项

qrsh -@ options.txt myscript.sh
  • 效果:从文件读取选项配置。

示例10:使用上下文变量

qrsh -ac PROJECT=myproj -ac ENV=dev hostname
  • 效果:添加上下文变量,存储在作业comment中。

示例11:指定工作目录

qrsh -wd /scratch/user/workdir ./myjob.sh
  • 效果:在指定目录下执行作业。