在Linux系统中,CPU的APIC ID(Advanced Programmable Interrupt Controller Identifier)是用于唯一标识每个CPU核心或线程的。这个ID在多核处理器中非常重要,因为它可以帮助操作系统和应用程序正确地管理和调度CPU资源。
APIC ID的分配通常遵循以下原则:
要查看Linux系统中CPU的APIC ID,可以使用lscpu命令。这个命令会显示关于CPU架构、型号、核心数、线程数以及APIC ID等详细信息。例如,在终端中运行lscpu命令,你可能会看到类似以下的输出:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 158
Model name: Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
Stepping: 9
CPU MHz: 2796.000
BogoMIPS: 5592.00
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 6144K
NUMA node0 CPU(s): 0-7
在这个例子中,你可以看到有8个CPU核心(Thread(s) per core为2,Core(s) per socket为4),并且它们都属于NUMA节点0。每个CPU核心都有一个唯一的APIC ID,从0到7。