我有一款英特尔混合 CPU(Alder Lake)。这意味着它有一定数量的 P 核和一定数量的 E 核。此外,P 核是超线程的。
任务管理器和其他性能和温度监控程序会以数字形式报告所有这些 CPU 核心(或硬件线程,包括 HT),不区分类型。例如,在 8P+8E CPU 上,此类工具总共会报告 24 个“核心”,编号为 0 到 23。
我怎么知道哪个类型每个物理核心对应多少个?如果我注意到“CPU 5”的利用率为 100%,那是 P 核心还是 E 核心?如果是 P 核心,那么与之配对的 HT 核心是哪个数字?
答案1
AIDA64 可以识别 Windows 中的 CPU 核心类型(和使用情况)
(请注意,我没有带有 P/E 核心的混合 CPU,因此我无法直接测试这一点)
AIDA64有一个“CPU 利用率”部分,其中显示有关 CPU 类型的信息:
(归功于1nteldev团队在英特尔论坛)
核心按 CPU 分组(上图中只有一个),然后是第一对对应于 HT 单元的核心,然后是单个 E 核心。
这种模式似乎保留其他报告工具(如任务管理器),但这可能无法保证. OP 在评论中报告:
通过谨慎使用 FurMark 的 CPU Burner 工具和处理器亲和性(通过任务管理器),我可以确认 AIDA64 中列出的顺序与任务管理器中显示的顺序相符。假设这种模式成立,这也告诉我们核心呈现为 HT 配对 P 核心,后跟 E 核心。
(重点是我的)
对于 Linux,使用lscpu
当你询问 Windows 时,关于 SO 的回答涵盖Linux:
跑步
lscpu --all --extended
➜ 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
在 MacOS 上,您可以使用powermetrics
对于使用 Apple 硬件的用户来说,AskDifferent 上的相关答案
sudo powermetrics -s cpu_power
P 核:
E 型芯:
您可以阅读powermetrics 在线手册页。