【问题标题】:SGE: view jobs not on hold with qstatSGE:使用 qstat 查看未暂停的作业
【发布时间】:2014-02-14 23:08:06
【问题描述】:

我正在 SGE 集群上运行一些作业。有没有办法让 qstat 只显示未暂停的工作?

qstat -s p 显示待处理的作业,即所有状态为“qw”和“hqw”的作业。

qstat -s h 显示保留工作,即所有状态为“hqw”的工作。

我希望能够仅查看状态为“qw”而不是状态为“hqw”的所有作业。手册页似乎表明这是不可能的,但我想确保我没有错过任何东西。这将非常有用,但我无法让它发挥作用真的让我很沮丧。

其他集群用户有几千个作业处于暂停状态(“hqw”),而实际上只有少数作业在队列中等待运行(“qw”)。我想快速轻松地查看未暂停的内容,以便查看我的工作在队列中的位置。必须显示所有内容然后向上滚动以找到输出的相关部分,这很痛苦。

【问题讨论】:

    标签: sungridengine


    【解决方案1】:

    所以我想出了 a 方法,通过将 qstat 的输出传递到 grep 中来显示我想要的内容:

    qstat -u "*" | grep " qw"
    

    (请注意,我需要搜索“qw”而不仅仅是“qw”,否则它也会返回“hqw”状态。)

    但我仍然很想知道是否可以仅使用 qstat 选项。

    【讨论】:

    • qstat -u <user_name> | grep " qw" 将为特定用户列出
    【解决方案2】:

    我认为这种方法更好且有用,我在我的主目录中定义了一个code_script 并创建了一个alias
    alias jobstat 'source <code_script>

    echo "user\n------------------------" ;
    echo "Running " ` qstat -u user | awk ' { if ($5 == "r") print $0 }' | wc -l` ;
    echo "Pending " ` qstat -u user  |  awk ' { if ($5 == "qw" || $5 == "hqw")  print $0 }' | wc -l ` ;
    echo "------------------------" ;
    echo "Total   " `qstat -u user | awk ' { if ($4 =="user") print $0}' | wc -l `
    

    这对我很有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多