我对Linux中的CPU顺序很好奇。例如,在超线程系统上,如果我将一个线程绑定到cpu0,另一个线程绑定到cpu1,它们是否都会在同一个物理核心上运行?对于具有4个核心和超线程的Core i7 920,/ proc / cpuinfo的输出使我认为cpu0和cpu1是不同的物理核心,而cpu0和cpu4位于同一个物理核心上。
谢谢。
谢谢。
物理 CPU/插座列在physical id
中。
物理核心列在core id
中。
由于超线程(Hyperthreading),每个处理器条目都将拥有自己的processor
,但与另一个共享core id
和physical id
。
请注意,每个物理 CPU(physical id
)可以具有多个核心(core id
),这些核心可以通过超线程进一步分成附加的逻辑 CPU。逻辑CPU的整体排序是由processor id
确定的。
这里有一个带有示例的详细说明:archive.richweb.com/cpu_info via web.archive.org
likwid-topology -g
命令获取CPU的图形拓扑结构。它显示了每个CPU的主核心以及其对应的兄弟核心。
egrep "(( id|processo).*:|^ *$)" /proc/cpuinfo
д»Ћ/ proc / cpuinfo
дёиЋ·еЏ–з›ёе…ідїЎжЃЇгЂ‚ - Elmar Zander