我正在SGE集群上运行一些作业。有没有办法让qstat只显示未挂起的作业?
qstat -s p
显示挂起的作业,即所有状态为"qw“和"hqw”的作业。
qstat -s h
显示hold jobs,这是状态为"hqw“的所有作业。
我希望能够看到状态为"qw“而不是状态为"hqw”的所有作业。手册页似乎暗示这是不可能的,但我想确保我没有遗漏什么。这将是非常有用的,我真的很沮丧,因为我不能让它工作。
其他集群用户有几千个作业处于等待状态("hqw"),实际上只有几个作业在队列中等待运行("qw")。我希望快速轻松地查看未被搁置的内容,这样我就可以看到我的作业在队列中的位置。必须显示所有内容,然后向后滚动以找到输出的相关部分,这是一件痛苦的事情。
发布于 2014-02-15 10:07:53
因此,我想出了一种方法,通过管道将qstat的输出转换为grep:
qstat -u "*" | grep " qw"
(请注意,我需要搜索"qw“,而不仅仅是”qw“,否则它也会返回"hqw”状态。)
但是我仍然很想知道是否可以只使用qstat选项。
发布于 2014-12-30 19:10:59
我认为这种方法更好,也更有用,我已经在主目录中定义了一个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 `
这对我帮助很大!
https://stackoverflow.com/questions/21791089
复制相似问题