在未启用 SMP 的内核上,多个处理器是否会显示在 /proc/cpuinfo 中?

在未启用 SMP 的内核上,多个处理器是否会显示在 /proc/cpuinfo 中?

我最近将一个应用程序从一台服务器迁移到另一台服务器,遇到了一些问题,我想知道它们是否与超线程有关。

关于我的问题,我目前无法访问旧机器。当我访问时,我知道 /proc/cpuinfo 显示有 2 个处理器,而系统只有 1 个物理处理器,所以这说明超线程已启用。

我想知道的是,/proc/cpuinfo 是否可以纯粹从信息的角度显示两个处理器,但内核不是用 SMP 编译的,所以进程没有触及超线程虚拟 CPU,或者内核缺少 SMP 是否意味着系统永远不会知道在 /proc/cpuinfo 中显示第二个 CPU。

如果有人碰巧有一个他们知道有多个 CPU 的盒子(最好是 HT,但是物理信息会比我现在拥有的更多),并且加载了非 SMP 内核并且可以检查它们的 /proc/cpuinfo,那将非常感激。

答案1

我 99.9% 确定 cpuinfo 不会显示内核不支持的处理器。

另一方面,dmidecode 可能。

答案2

我同意马特西蒙斯的回答。

请允许我补充一点,超线程(Pentium4 的东西)本身对我的系统没有任何好处。没有性能提升,有时甚至会带来麻烦。你最好完全禁用它。

答案3

如果禁用超线程,/proc/cpuinfo 中的第二个处理器列表将消失。但我建议禁用它,因为它没有任何好处,只会引起问题。如果只有一个 SMP 内核,就不会出现第二个列表。如果没有 SMP 内核,则只会显示一个。

相关内容