同一程序无法在另一台机器上完全使用 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 速度,也许节能模式已打开或自动。
经我们确认,很有可能是散热系统的问题。
我有 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 速度,也许节能模式已打开或自动。
经我们确认,很有可能是散热系统的问题。