如何检测Linux alder Lake系统中的E核和P核?

问题描述 投票:0回答:2

如何查看特定CPU核心属于P核心还是E核心组?有没有办法列出正在运行的 Linux x86_64 alder Lake 系统中有关性能/能源核心的信息?比如,打印任何 sysfs 参数?

linux x86-64 intel cpu-architecture cpu-cores
2个回答
37
投票

我们可以识别哪个核心启用了SMT(超线程)。运行:

lscpu --all --extended

这是 12900K 的结果:

➜ lscpu --all --extended
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE    MAXMHZ   MINMHZ
  0    0      0    0 0:0:0:0          yes 6700.0000 800.0000
  1    0      0    0 0:0:0:0          yes 6700.0000 800.0000
  2    0      0    1 1:1:1:0          yes 6700.0000 800.0000
  3    0      0    1 1:1:1:0          yes 6700.0000 800.0000
  4    0      0    2 2:2:2:0          yes 6500.0000 800.0000
  5    0      0    2 2:2:2:0          yes 6500.0000 800.0000
  6    0      0    3 3:3:3:0          yes 6500.0000 800.0000
  7    0      0    3 3:3:3:0          yes 6500.0000 800.0000
  8    0      0    4 4:4:4:0          yes 6500.0000 800.0000
  9    0      0    4 4:4:4:0          yes 6500.0000 800.0000
 10    0      0    5 5:5:5:0          yes 6500.0000 800.0000
 11    0      0    5 5:5:5:0          yes 6500.0000 800.0000
 12    0      0    6 6:6:6:0          yes 6500.0000 800.0000
 13    0      0    6 6:6:6:0          yes 6500.0000 800.0000
 14    0      0    7 7:7:7:0          yes 6500.0000 800.0000
 15    0      0    7 7:7:7:0          yes 6500.0000 800.0000
 16    0      0    8 8:8:8:0          yes 3900.0000 800.0000
 17    0      0    9 9:9:8:0          yes 3900.0000 800.0000
 18    0      0   10 10:10:8:0        yes 3900.0000 800.0000
 19    0      0   11 11:11:8:0        yes 3900.0000 800.0000
 20    0      0   12 12:12:9:0        yes 3900.0000 800.0000
 21    0      0   13 13:13:9:0        yes 3900.0000 800.0000
 22    0      0   14 14:14:9:0        yes 3900.0000 800.0000
 23    0      0   15 15:15:9:0        yes 3900.0000 800.0000

现在,查看

CPU
列和
CORE
列。例如:

  • CPU 0 和 CPU 1 属于 CORE 0。因此,CORE 0 是带有 SMT 的 P 核。
  • CPU 16属于CORE 8。因此,CORE 8是E核。

请注意,此方法仅在您未在 BIOS 中明确禁用 P-core 的 SMT 时才有效。如果您在 BIOS 中禁用了 SMT,您可以按照 Peter 评论中的建议查看

MAXMHZ
列。


0
投票

不需要根据频率或线程数等处理器特性进行猜测的更准确答案是,此信息在

/sys
伪文件系统中公开:

在 Alder Lake(和其他混合 Intel 架构一样)上,不是

/sys/devices/cpu
,而是有两个目录:
/sys/devices/cpu_atom/
/sys/devices/cpu_core/
,第一个 (cpu_atom) 用于 e-core,第二个 (cpu_core) 用于存储p 核。

每个目录内都有一个名为

cpus
的文件,其中包含 cpu 范围编号。

例如,在我的 i7-1360P 中:

  • /sys/devices/cpu_core/cpus
    包含
    0-7
    (四个 p 核,每个核有两个线程)
  • /sys/devices/cpu_atom/cpus
    包含
    8-15
© www.soinside.com 2019 - 2024. All rights reserved.