- Вопрос или проблема
- AIDA64 может определить тип ядра процессора (и его использование) в Windows
- Для Linux используйте lscpu
- На macOS вы можете использовать powermetrics
- Ответ или решение
- Как идентифицировать ядра на гибридном процессоре Intel (Alder Lake)
- 1. Использование AIDA64 для Windows
- 2. Метод для Linux: lscpu
- 3. Кто на macOS?
- 4. Система файлов в Linux: удобное решение
- Заключение
Вопрос или проблема
У меня есть гибридный процессор Intel (Alder Lake). Это означает, что в нем есть определенное количество P-ядр и определенное количество E-ядр. Кроме того, P-ядра имеют гипертрединг.
Диспетчер задач и другие программы для мониторинга производительности и температуры отображают все эти ядра процессора (или аппаратные потоки, включая HT) численно без различия по типу. Например, на процессоре 8P+8E общее количество «ядер», сообщаемое такими инструментами, составляет 24, пронумерованных от 0 до 23.
Как мне узнать, какому типу физического ядра соответствует каждое из них? Если я замечаю 100% загрузку на «ЦП 5», это P-ядро или E-ядро? Если это P-ядро, какое число соответствует HT-ядру, с которым оно связано?
AIDA64 может определить тип ядра процессора (и его использование) в Windows
(обратите внимание, что у меня нет гибридного процессора с P/E-ядрами, поэтому я не могу протестировать это напрямую)
AIDA64 имеет раздел «Использование ЦП», который показывает информацию о типе процессора:
(благодарность 1nteldevteam на форуме Intel)
Ядра сгруппированы по процессору (только один на изображении выше), затем идут пары ядер, соответствующие HT-единицам, затем отдельные E-ядра.
Эта схема похоже, работает и для других инструментов отчетности, таких как Диспетчер задач, но это может быть не гарантировано. ОП сообщает в комментарии; жирное выделение — мое:
При внимательном использовании инструмента FurMark’s 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-ядра:
Благодарность JMY1000 за их ответ и два изображения, приведенные выше.
Вы можете прочитать страницу man powermetrics онлайн.
Я полагаю, что более точный ответ, который не требует угадывания на основе характеристик процессора, таких как частота или количество потоков, заключается в том, что эта информация доступна в псевдофайловой системе /sys
в Linux:
На Alder Lake (и в основном, как и в других гибридных архитектурах Intel), вместо /sys/devices/cpu
есть две директории: /sys/devices/cpu_atom/
и /sys/devices/cpu_core/
, первая (cpu_atom) для E-ядр, а вторая (cpu_core) для P-ядр.
Внутри каждой директории есть файл с именем cpus
, который содержит диапазон чисел ядер.
Например, в моем i7-1360P:
/sys/devices/cpu_core/cpus
содержит0-7
(четыре P-ядра с двумя потоками каждый)/sys/devices/cpu_atom/cpus
содержит8-15
Ответ или решение
Как идентифицировать ядра на гибридном процессоре Intel (Alder Lake)
Понимание структуры ядер гибридного процессора Intel, такого как Alder Lake, может быть сложной задачей из-за особенностей архитектуры, включающей как производительные ядра (P-cores), так и эффективные ядра (E-cores). Трудности возникают из-за того, что многие инструменты мониторинга системы, такие как Диспетчер задач и другие программы, отображают все ядра без различия по типам. В этой статье мы разберем, как можно определить, какие ядра являются P-cores, а какие – E-cores, а также как получить информацию о связанных потоках.
1. Использование AIDA64 для Windows
Одним из наиболее удобных инструментов для идентификации типов ядер на Windows является AIDA64. В разделе "Использование CPU" AIDA64 представляется информация о типах ядер:
- Производительные ядра (P-cores) будут отображаться первыми, при этом они будут дополнительно разделены на пары, обозначающие гипертредирование.
- Эффективные ядра (E-cores) представлены в отдельной группе после P-cores.
Такое распределение подтверждено пользователями, проводившими тесты на утилите FurMark, что позволяет утверждать, что в Диспетчере задач и других аналогичных утилитах эта информация будет расположена аналогичным образом.
2. Метод для Linux: lscpu
Если вы используете Linux, для получения необходимой информации можно воспользоваться командой lscpu. Запустив команду:
lscpu --all --extended
Вы сможете увидеть все процессоры с их типами, что позволят определить принадлежность ядер к P и E:
- Ядра P-cores будут представлены парами (по два потока каждое), а за ними последуют отдельные E-cores.
3. Кто на macOS?
На macOS можно использовать команду powermetrics следующим образом:
sudo powermetrics -s cpu_power
С помощью этой команды вы сможете легко различить P- и E-cores, так как каждое ядро будет обозначено отдельно, после чего программы подскажут, какое ядро загружено в данный момент.
4. Система файлов в Linux: удобное решение
Для более глубокого и ценного анализа на Linux существует возможность использования псевдосистемы файлов /sys
. Здесь две директории:
/sys/devices/cpu_core/
для P-cores/sys/devices/cpu_atom/
для E-cores
В каждой из этих директорий вы найдете файл cpus
, где указаны диапазоны номеров ядер. Например, для i7-1360P:
- P-cores в
/sys/devices/cpu_core/cpus
содержат диапазон 0-7. - E-cores в
/sys/devices/cpu_atom/cpus
содержат диапазон 8-15.
Заключение
В результате, идентификация типов ядер на гибридном процессоре Intel может быть эффективно выполнена с использованием различных инструментов и методов, в зависимости от вашей операционной системы. AIDA64 предоставляет обширные возможности для пользователей Windows, в то время как Linux предлагает простые команды и системные директории для получения необходимой информации. Использование этих методов обеспечит оптимизацию процесса мониторинга и использование всех преимуществ вашего процессора.