2

我正在 Sun Grid Engine(现在称为 Oracle Grid Engine)集群上运行作业。为了查看我的工作是否因为节点超载而变慢,我尝试检查节点的状态:

$ qstat -l hostname=hnode03 -f
queuename                      qtype resv/used/tot. load_avg arch          states
---------------------------------------------------------------------------------
all.q@hnode03.rnd.mycorp.com BP    0/0/0          103.41   lx24-amd64
---------------------------------------------------------------------------------
highmem.q@hnode03.rnd.mycorp BP    0/37/40        103.41   lx24-amd64
 977530 0.76963 runJob1 userme       r     09/13/2013 17:53:26     2
---------------------------------------------------------------------------------
threaded.q@hnode03.rnd.mycor BP    0/24/32        103.41   lx24-amd64
---------------------------------------------------------------------------------
workflow.q@hnode03.rnd.mycor B     0/0/0          103.41   lx24-amd64

$ qhost -h hnode03
HOSTNAME                ARCH         NCPU  LOAD  MEMTOT  MEMUSE  SWAPTO  SWAPUS
-------------------------------------------------------------------------------
global                  -               -     -       -       -       -       -
hnode03                 lx24-amd64     64 103.4  504.8G  122.9G   16.0G   58.0M

现在,load_avg是 103.41,而NCPU只有 64。这应该发生吗?某些作业是否使用 CPU 而不是分配给它们的插槽?

更新:响应查询,配置被上传到http://pastebin.com/hLnJBetS

4

1 回答 1

2

是的,它可以。

插槽不是内核 (NCPU) 的同义词。插槽必须被视为“一个节点上可以并行调度多少个作业”。

如果您只想一次运行一项作业,请将机器的插槽数设置为 1。

对于负载因子,即使你的作业只使用一个槽,如果你的线程或子进程太多,那么所有的核心都会被使用,负载因子肯定会超过 1。

于 2013-09-19T13:43:28.787 回答