我在具有24个内核的共享
Linux计算机上运行大规模并行的科学计算工作.大多数时候,当这台计算机上没有其他任何东西运行时,我的工作能够扩展到24个核心.然而,似乎即使一个不是我的单线程作业正在运行,我的24线程作业(我设置为高优值)只能获得~1800%的cpu(使用Linux表示法).同时,大约500%的cpu周期(再次使用Linux表示法)处于空闲状态.任何人都可以解释这种行为以及我能做些什么来获得所有其他人没有使用的核心?
笔记:
>如果它是相关的,我已经在稍微不同的内核版本上观察到了这一点,尽管我不记得哪个是我的头脑.
> cpu架构是x64.我的24核作业是32位,而我正在竞争的其他作业是64位的这一事实是否有可能是相关的?
编辑:我刚注意到的一件事是,最多30个线程似乎在某种程度上缓解了这个问题.它让我高达2100%的cpu.