Упорядочение процессора в Linux (с гиперпоточностью) - PullRequest
11 голосов
/ 11 июня 2010

Мне любопытно, каков порядок загрузки процессора в Linux.Скажем, я связал один поток с процессором cpu0, а другой - с процессором cpu1 в гиперпоточной системе, они оба собираются на одном физическом ядре.Учитывая Core i7 920 с 4 ядрами и гиперпоточностью, вывод / proc / cpuinfo заставляет меня думать, что cpu0 и cpu1 - это разные физические ядра, а cpu0 и cpu4 находятся на одном физическом ядре.

Спасибо.

Ответы [ 3 ]

18 голосов
/ 11 июня 2010

Физический процессор / сокет указан как physical id.
Физическое ядро ​​указано как core id.
Запись процессора из-за использования многопоточности получит свою собственную processor, но с общим значением core idи physical id с другим.

Обратите внимание, что каждый физический процессор (physical id) может иметь несколько ядер (core id), которые в дальнейшем могут быть разбиты на дополнительные логические процессоры с помощью гиперпоточности.Логические процессоры в целом упорядочены по processor id.

Подробное объяснение с примерами приведено здесь: archive.richweb.com / cpu_info через web.archive.org

1 голос
/ 30 марта 2017

Вы можете использовать likwid-topology -g, чтобы получить графическую топологию процессора.Он показывает основные ядра каждого процессора вместе с родным ядром.

0 голосов
/ 29 января 2011

См. Указатель в этой ссылке . Вся информация находится в / proc / cpuinfo относительно физических процессоров, ядер и гиперпоточности, но вы должны сопоставить информацию из нескольких записей в этом файле, чтобы определить, какие из них сгруппированы вместе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...