Мне любопытно, что заказ ЦП в Linux. Скажем, я привязываю поток к cpu0, а другой - к cpu1 в гиперпотоковой системе, они оба будут на одном физическом ядре. Учитывая Core i7 920 с четырьмя ядрами и гиперпотоком, вывод /proc/cpuinfo заставил меня думать, что cpu0 и cpu1 являются разными физическими ядрами, а cpu0 и cpu4 находятся на одном физическом ядре.
Спасибо.
Ответ 1
Физический процессор/сокет отображается как physical id
.
Физическое ядро указано как core id
.
Запись процессора из-за hypherthreading получит свой собственный processor
, но поделится core id
и physical id
с другим.
Обратите внимание, что каждый физический процессор (physical id
) может иметь несколько ядер (core id
), которые могут быть далее разбиты на дополнительный логический cpus путем гиперпотока. Логический cpus в целом упорядочен processor id
.
Здесь приводится подробное объяснение с примерами: archive.richweb.com/cpu_info через web.archive.org
Ответ 2
Вы можете использовать likwid-topology -g
для получения графической топологии процессора. Он показывает каждый основной процессор cpu вместе с ядром sibling.
Ответ 3
См. указатель, указанный в этой ссылке. Информация находится в /proc/cpuinfo в отношении физических процессоров, ядер и гиперпотоков, но вам нужно сопоставить информацию из нескольких записей в этом файле, чтобы определить, какие из них группируются.