【问题标题】:How does RedHat determine the number of coresRedHat如何确定核心数
【发布时间】:2015-10-14 11:06:02
【问题描述】:

首先让我澄清一下我不是要问什么——我已经知道如何通过查询 /sys/devices/system/cpu 中的项目来确定 linux 认为它拥有的内核数量如 ./possible 和 ./present,并使用 lstopo、dmidecode 等。

我想知道的是,内核是如何达到在 sys/devices/system/cpu/present 中看到的特定数字的?

这样做的动机是我的实验室中有两块相同的处理器板,它们都带有四核 i7-2715QE 处理器。为简单起见,一块板子将其称为“好”板子,报告为四个内核(如预期的那样),超线程 (HT) 开启,总共 8 个 CPU。 other 板仅报告两个内核,再次启用 HT,总共只有 4 个 CPU。

sys/devices/system/cpu 的上游必须确定不使用两个内核。 “好”板在 sys/.../possible 和 sys/.../present 中列出 0-7,而“坏”板显示 0-3,但它们上面有相同的 i7-2715QE。

我检查了 BIOS/UEFI 屏幕是否有任何差异,但没有发现任何差异。我可以找到板上没有物理开关/跳线。这可能是编译到内核中的东西吗?我应该查看 Grub 的引导线选项吗?两块板都运行 RedHat 6。好的板是 6.3,另一块板是 6.6,但它们非常相似,在这方面天生就不会产生影响。即,我认为版本本身并不像它们只是构建不同的可能性那么重要。

更新

这肯定与操作系统映像或 grub 设置有关,b/c 从外部实时映像启动时,坏板在 sysfs 中显示预期的 cpu0..cpu7。板载闪存中的某些内容必须禁用四个内核中的两个。

【问题讨论】:

  • 嘿,你们更接近的类型 - 给它 10 分钟让某人找到一个地方迁移它如何?
  • 您能否尝试从另一个发行版启动一个 live cd,只是为了获得第二个意见?我们的一些双核至强偶尔会只显示一个核心,无论发行版如何,我们认为这是硬件问题。
  • @Mark Plotnick 是的,本来打算昨天尝试的,但是没时间了。因此,从 U 盘启动时,坏板会在 sysfs 中显示预期的 8 个 cpu 条目。这导致,坏板上的操作系统如何无法看到核心2和3..

标签: linux configuration centos redhat multicore


【解决方案1】:

原来引导行上的 acpi 选项是罪魁祸首。由于尚未确定的原因,指定 acpi=off 会导致内核误解 cpu 拓扑,而应该是具有超线程能力的 4 个内核被认为意味着 4 个 cpu 作为使用超线程的 2 个内核。

设置 acpi=ht 似乎可以解决问题。

【讨论】:

  • 是的,回答了我自己的问题,b/c 忘记了搜索出现一个没有答案的孤独问题的次数
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-11
  • 2018-05-30
  • 1970-01-01
  • 1970-01-01
  • 2018-08-12
  • 2016-02-10
相关资源
最近更新 更多