同一程序无法在另一台机器上完全使用 CPU 资源

same program could not fully use CPU resource on another machine

我有 2 台机器,具有相同的 CPU,4 个 numa 节点和 24*4 = 96 个核心,我使用 spark local[96] 到 运行 我的程序,使用 htop查看CPU使用情况,在第一台机器上,96核几乎100%使用

在第二个上,我使用完全相同的代码(spark 代码打包在 docker 图像中,我使用相同的图像),但是 htop 可以看到所有 96 个内核只有 25%使用率达到 33% CPU。

我用lscpu查了一下,除了参数CPU MHz(第一个3000左右,第二个999.963),其他都一样(max MHz 3800, min MHz 1000,hyper-线程都被禁用)。

为什么我的Spark程序在第二台机器上不能完全使用CPU?

检查第二个BIOS。由于某种原因没有使用所有 CPU 速度,也许节能模式已打开或自动。

经我们确认,很有可能是散热系统的问题。