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

Kri*_*i M 16 linux x86-64 intel cpu-architecture cpu-cores

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

Yix*_*ing 29

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

\n
lscpu --all --extended\n
Run Code Online (Sandbox Code Playgroud)\n

这是 12900K 的结果:

\n
\xe2\x9e\x9c lscpu --all --extended\nCPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE    MAXMHZ   MINMHZ\n  0    0      0    0 0:0:0:0          yes 6700.0000 800.0000\n  1    0      0    0 0:0:0:0          yes 6700.0000 800.0000\n  2    0      0    1 1:1:1:0          yes 6700.0000 800.0000\n  3    0      0    1 1:1:1:0          yes 6700.0000 800.0000\n  4    0      0    2 2:2:2:0          yes 6500.0000 800.0000\n  5    0      0    2 2:2:2:0          yes 6500.0000 800.0000\n  6    0      0    3 3:3:3:0          yes 6500.0000 800.0000\n  7    0      0    3 3:3:3:0          yes 6500.0000 800.0000\n  8    0      0    4 4:4:4:0          yes 6500.0000 800.0000\n  9    0      0    4 4:4:4:0          yes 6500.0000 800.0000\n 10    0      0    5 5:5:5:0          yes 6500.0000 800.0000\n 11    0      0    5 5:5:5:0          yes 6500.0000 800.0000\n 12    0      0    6 6:6:6:0          yes 6500.0000 800.0000\n 13    0      0    6 6:6:6:0          yes 6500.0000 800.0000\n 14    0      0    7 7:7:7:0          yes 6500.0000 800.0000\n 15    0      0    7 7:7:7:0          yes 6500.0000 800.0000\n 16    0      0    8 8:8:8:0          yes 3900.0000 800.0000\n 17    0      0    9 9:9:8:0          yes 3900.0000 800.0000\n 18    0      0   10 10:10:8:0        yes 3900.0000 800.0000\n 19    0      0   11 11:11:8:0        yes 3900.0000 800.0000\n 20    0      0   12 12:12:9:0        yes 3900.0000 800.0000\n 21    0      0   13 13:13:9:0        yes 3900.0000 800.0000\n 22    0      0   14 14:14:9:0        yes 3900.0000 800.0000\n 23    0      0   15 15:15:9:0        yes 3900.0000 800.0000\n
Run Code Online (Sandbox Code Playgroud)\n

现在,看看CPU柱子和CORE柱子。例如:

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

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

\n

  • 另一个观察结果:每个独立的L2缓存0~7由P核的2个CPU共享,但L2缓存8,9中的每个由E核的4个CPU共享,与https://en.wikipedia一致。 org/wiki/Raptor_Lake (2认同)