在阅读qstat和sge_qstat手册之后,我仍然不知道我可以使用哪种方法来允许我以编程方式解析我的SGE 6.1系统中默认队列的名称:这就是说,如果我执行qsub命令,将提交作业的队列。
我有一个空文件:
~/.sge_qstat # actually the file doesn't exist
此文件只包含'-u *':
$SGE_ROOT/$SGE_CELL/common/sge_qstat
我希望有一种方法能够以编程方式获取默认情况下将提交作业的队列名称。与此LSF命令中grep之后的名称等效的东西:
lsid 2>/dev/null | grep 'My cluster name is'
是否有与SGE相同的东西?
答案 0 :(得分:2)
假设“默认”是指作业将落入的队列,如果没有使用-q切换到qsub,则很难。
开箱即用,SGE根本不应该有一个硬默认队列,但是默认调度程序将根据哪个队列的平均负载最低来为给定的提交选择一个队列(如果你没有指定一个队列) - 这由scheduler属性queue_sort_method定义(参见sched_conf(5))。在这种情况下,你最好猜测。
但是,如果您可以保证在提交者的本地.sge_request文件或全局$ sge_root / $ cluster / common / sge_request文件(定义qsub的默认开关)中设置真正的默认队列,请参阅sge_request( 5)),你当然可以解析-q开关。
答案 1 :(得分:0)
计算默认队列的另一种方法是发送虚拟请求。
qrsh -w p -verbose -verify | grep hard_queue_list
请注意,该值可以是逗号分隔的列表。即 hard_queue_list:all.q,some.q
第一个是系统默认值,第二个是用户默认值。