/ sys / kernel / debug / tracing / per_cpu显示比我更多的cpus

我的linux系统中有8个逻辑CPU。 (从/proc/cpuinfo可以看到)。 当我看着

 /sys/kernel/debug/tracing/per_cpu 

它显示了32个CPU。

为什么区别? 如果重要,我在BIOS中禁用了超线程。

每个核心都有单独的列表。 我猜你的系统有8个逻辑CPU,每个4个核心。

物理内核正是CPU内部的物理内核。 逻辑核心是一个核心同时完成2个或更多事物的能力。 这是由于早期的奔腾4 CPU能够完成所谓的超线程(HTT) 。

当核心的子组件不被用于某些types的指令时,这是一个正在玩的游戏,而另一个长时间运行的指令可能正在被执行。 所以CPU可以同时处理两件事情。

较新的核心是更成熟的CPU,所以他们同时在多件事情上工作,但是它们不是物理核心的真正的CPU。 在本文中,您可以阅读有关超线程function与核心物理function限制的更多信息。本文的标题为: 英特尔酷睿i5和酷睿i7:英特尔的主stream万能操作系统 。

您可以使用lscpu命令查看您的盒子的故障:

 $ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit CPU(s): 4 Thread(s) per core: 2 Core(s) per socket: 2 CPU socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 37 Stepping: 5 CPU MHz: 2667.000 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3072K NUMA node0 CPU(s): 0-3 

在上面,我的英特尔i5笔记本电脑总共有4个“CPU”

CPU(s):4

其中有2个物理核心

核心(s)每个sockets:2

其中每个可以运行多达2个线程

每个核心的线程数:2

与此同时。 这些线程是核心的逻辑能力。

lstopo

您可以使用工具lstopo来获取系统地形的实际图表,这有助于了解CPU体系结构的重要意义。

ss的lstopo

“PU P#”=处理单元处理器#。 这些是CPU内核中的处理单元。 在我的笔记本电脑上(Intel i5),我有两个内核,每个内核有两个处理单元,共有四个,但实际上我只有两个物理内核。

如果你想要进一步细分lstopo输出,看看我在这个U&L Q&A的答案,标题是: 解释lstopo的输出 。

参考

  • 那么什么是逻辑cpu核心(相对于物理cpu核心)呢?
  • 解释lstopo的输出