在 BIOS 中启用“超线程”是否会对多核造成不利影响?

在 BIOS 中启用“超线程”是否会对多核造成不利影响?

我的华硕 P6T 上装有英特尔酷睿 i7 920,我的操作系统报告它有 8 个内核。酷睿 i7 是四核,所以这可能是由于 BIOS 中启用了超线程。我可以想象英特尔的超线程可能会允许一个内核在另一“半”处于空闲状态时达到最大性能,但操作系统不是必须先使用偶数/奇数内核吗?

我的问题很简单 -考虑到大多数软件只能利用 1 个核心,因此有 8 个伪核心,而不是只有 4 个真实的核心,实际上会损害性能吗?

如果可以的话,请赐教。

顺便说一句,如果这很重要的话,它运行的是 CentOS 5.3。

答案1

不会造成影响。Linux 的调度程序知道超线程。如果额外的 CPU 上没有运行任何程序,超线程实际上不会产生任何成本。话虽如此,除非您一次运行超过四个 CPU 密集型线程,否则它可能没有太大的好处,但它不会造成影响。

答案2

核心越多越好。

尽管大多数软件可能不是多核智能的,但操作系统却是多核智能的,例如,如果您有 16 个进程,它会在它看到的每个核心上放置两个。

我唯一不会使用超线程的情况是,如果我 100% 确定我不会从中受益 - 在 P4 时代,我管理了几台具有超线程的服务器,我决定在它们上运行基准测试工具以满足它们的运行目的,并且只有一台服务器由于某种原因(我现在忘记了它的任务)在关闭时,其性能仅仅提高了约 15%。

答案3

您没有 8 个,而是有 4 个“伪核心”,4 个物理核心 + 4 个虚拟核心 = 总共 8 个。

当您禁用 HT 时,您不妨获得 Core i5,比较 i7 和 i5 CPU 之间的基准测试(两者都是四核 Nehalems,有和没有 HT),您就知道您的问题的答案了。

相关内容