You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

非root权限下使用qsub的方法及SGE系统qsub提交失败求助

关于SGE系统qsub提交失败及非root用户使用qsub的解决方案

一、qsub提交失败的问题分析与修正脚本

你提交失败最核心的问题是用错了作业调度系统的语法——你写的全是PBS/Torque系统的指令(#PBS开头),但SGE(Sun Grid Engine)根本不识别这套语法,这直接导致提交失败。除此之外还有几个小问题,我给你整理了修正后的脚本,并说明修改点:

修正后的提交脚本

#!/bin/bash
#$ -l nodes=1:ppn=4               # 指定1个节点,4个核心(SGE标准指令前缀是#$)
#$ -N pix2pix                      # 作业名称
#$ -o pix2pix.out                  # 标准输出重定向文件
#$ -e pix2pix.err                  # 错误输出重定向文件
#$ -q GPU_HIGH                     # 指定要提交的GPU队列
#$ -l h_rt=72:00:00                # SGE中设置运行时间的参数是h_rt,格式为hh:mm:ss,这里设72小时(根据集群限制调整)
#$ -cwd                            # 自动切换到提交脚本时的工作目录,替代你原来的cd操作

# 激活conda tensorflow环境
source activate tensorflow

# 执行训练脚本,换行排版更清晰
python /public/home/chensu/others/Guicai/pix2pix-tensorflow/pix2pix.py \
--mode train \
--output_dir /public/home/chensu/others/Guicai/pix2pix-tensorflow/face2face-model \
--max_epochs 2000 \
--input_dir /public/home/chensu/others/Guicai/pix2pix-tensorflow/你的完整输入目录路径

关键修改点说明

  • 指令前缀替换:把所有#PBS改成SGE标准的#$,这是最核心的修改,SGE只会识别#$开头的作业参数
  • 运行时间参数:SGE中设置作业最长运行时间的参数是h_rt,而不是PBS的walltime,并且格式必须是hh:mm:ss,你原来写的72000:00:00时间过长,远超绝大多数集群的限制,这里改成合理的72小时,你可以根据集群管理员给出的上限调整
  • 工作目录设置:用#$ -cwd可以自动切换到你提交脚本时所在的目录,比手动cd更可靠,如果你坚持手动cd,也要确保路径拼写正确(你原来的$PBS_0_WORKDIR不仅是PBS变量,还打错了字母,应该是O不是0,SGE对应变量是$SGE_O_WORKDIR)
  • 脚本可读性:把python命令拆成多行,避免一行太长,方便后续修改维护

二、非root用户使用qsub的问题

SGE系统默认就是允许普通用户(非root)使用qsub提交作业的,如果你用不了,大概率是以下几个原因:

  • 账号未加入SGE用户列表:找集群管理员确认你的账号已经被添加到SGE的用户组中(管理员可以通过qconf -su命令管理SGE用户)
  • 无队列提交权限:比如你指定的GPU_HIGH队列,管理员可能限制了只有特定用户组能提交。你可以用qstat -g c查看队列的权限配置,或者直接找管理员给你开放对应队列的提交权限
  • 脚本权限不足:确保你的提交脚本有可执行权限,执行chmod +x 你的脚本文件名.sh即可添加执行权限
  • 集群SGE服务异常:这种情况概率较低,如果前面几点都没问题,可以联系管理员检查SGE服务状态

内容的提问来源于stack exchange,提问作者Taufik_TF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:55:04