Linux qsub与PBS选项文档查询及长队列作业分发优化问题
报错说明
qsub: submit error (Maximum number of jobs already in queue for user MSG=total number of current user's jobs exceeds the queue limit: user rai**, queue long)
- 该报错是PBS作业调度系统的标准限制提示:
long队列对单个用户可同时存在的作业(含运行中、排队中状态)总数设置了上限,提交作业数超过阈值就会被系统驳回。
作业脚本配置段含义
你提供的配置段是标准的PBS作业头声明,具体含义如下:
#!/bin/bash #PBS -q long #PBS -l ddisk=30000 -l feature=largescratch
#!/bin/bash:指定当前脚本使用bash作为解释器,是shell脚本的标准首行声明。#PBS -q long:指定该作业提交到long队列调度运行,队列的资源上限、运行时长限制、用户作业数阈值均由集群管理员预先配置。#PBS -l ddisk=30000 -l feature=largescratch:为作业资源请求参数:ddisk=30000:请求为作业分配30000MB(即30GB,部分集群单位为KB,以集群实际规则为准)的临时磁盘空间。feature=largescratch:要求作业调度到带有largescratch标签的计算节点运行,这类节点通常配置了更大的本地临时存储空间,匹配大磁盘使用需求。
作业分发优化方案
- 合并作业提交:将多个小作业合并为单个作业,通过循环逻辑串行执行多个任务,直接降低提交的作业总数量,是规避队列上限最有效的方案。
- 调整资源请求:如果作业实际不需要30GB磁盘空间,可适当调低
ddisk数值;确认无需大临时存储的话可以移除feature=largescratch配置,让作业可调度的节点范围更广,作业流转速度更快,减少队列中同时存在的作业数量。 - 配置作业依赖:使用PBS的
-W depend=afterok:<作业ID>参数设置依赖关系,让后续作业在前序作业运行成功后再自动加入队列,避免一次性提交所有作业占满配额。
内容的提问来源于stack exchange,提问作者juststuck
相关产品推荐
相关产品推荐

