¿Cómo puedo verificar que un núcleo de CPU en particular pertenezca al grupo P-core o E-core? ¿Hay alguna forma de enumerar información sobre los núcleos de rendimiento/energía en un sistema de lago de aliso Linux x86_64 en ejecución? Como, ¿Imprimiendo alguno de los parámetros de sysfs?
Podemos identificar qué núcleo tiene habilitado SMT (hyper-threading). Correr:
lscpu --all --extended
Este es el resultado para 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
Ahora, mire la columna CPU
y la columna CORE
. Por ejemplo:
Tenga en cuenta que este método solo funcionará si no ha deshabilitado explícitamente el SMT de P-core en BIOS. Si deshabilitó SMT en BIOS, puede mirar la columna MAXMHZ
como se sugiere en el comentario de Peter.