是否有可能分辨出哪些 CPU 是同一核心的超线程?

Exo*_*ist 5 virtualization smp hyperthreading

我有一台启用了超线程的四核 i-7 服务器。内核将其识别为 8 个 CPU,这是应该的。我想创建几个在这台机器上运行的虚拟主机。virt-manager 让我选择在哪台机器上使用哪些 CPU。我想对其进行配置,以便将超线程对中的两个 CPU 分配给同一个虚拟机。这样,由于超线程,一台机器在重负载下不会通过共享单个核心来影响另一台虚拟机。但我确实希望每个 vm 都可以使用超线程,因为我正在运行涉及大量并行化的任务。

那么,我怎么知道内核识别出哪些 CPU 是一对呢?我怀疑 cpu 0 和 cpu 1 配对,然后是 cpu 2 和 cpu 3,依此类推,但我不确定如何测试/确认。

小智 4

此链接描述了如何匹配物理 id、核心 id 和兄弟计数,以识别 /proc/cpuinfo 中的哪些条目位于同一核心上,但我无法保证其准确性。它看起来也类似于[这个问题][2]。

注意:现在提到的链接似乎是一个垃圾邮件站点,它是:http://www.linuxforums.org/articles/finding-server-is-multi-processor-multi-core-or-hyperthreading-is-enabled -or-not-_856.html [2]:/sf/ask/211339061/