У меня в Linux 8 логических процессоров. (Как видно из /proc/cpuinfo
). Когда я смотрю в
/sys/kernel/debug/tracing/per_cpu
показывает 32 процессора.
Почему разница? Если это важно, у меня в BIOS отключена гиперпоточность.
Физические ядра - это всего лишь физические ядра в ЦП. Логические ядра - это способности одного ядра выполнять 2 или более задач одновременно. Это выросло из ранних Процессоры Pentium 4 способность делать то, что было названо Hyper Threading (HTT).
Это было что-то вроде игры, в которой подкомпоненты ядра не использовались для определенных типов инструкций, в то время как могла выполняться другая длительная инструкция. Таким образом, ЦП мог работать одновременно с двумя вещами.
Новые ядра - это более полноценные процессоры, поэтому они работают над несколькими задачами одновременно, но они не настоящие процессоры, как физические ядра. Вы можете узнать больше об ограничениях функциональности гиперпоточности по сравнению с физическими возможностями ядра здесь, на tomshardware, в этой статье под названием: Intel Core i5 и Core i7: Mainstream Magnum Opus от Intel.
Вы можете увидеть разбивку своей коробки, используя lscpu
команда:
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
CPU(s): 4
Thread(s) per core: 2
Core(s) per socket: 2
CPU socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 37
Stepping: 5
CPU MHz: 2667.000
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
NUMA node0 CPU(s): 0-3
В моем ноутбуке Intel i5 всего 4 процессора.
ЦП: 4
из них 2 физических ядра
Ядра на сокет: 2
из которых каждый может запускать до 2 потоков
Потоков на ядро: 2
в то же время. Эти потоки являются логическими возможностями ядра.
Вы можете использовать инструмент lstopo
Чтобы получить реальную диаграмму топографии вашей системы, это иногда помогает понять, что важно в архитектуре ЦП.
«PU P #» = Процессорный блок № процессора. Это элементы обработки в ядрах ЦП. На моем ноутбуке (Intel i5) у меня есть 2 ядра, каждое из которых имеет 2 элемента обработки, всего 4. Но на самом деле у меня только 2 физических ядра.
Если вам нужна дальнейшая разбивка lstopo
вывод взгляните на мой ответ в этом вопросе и ответе U&L под названием: Интерпретировать вывод lstopo.
Для каждого ядра есть отдельный список. Я предполагаю, что в вашей системе 8 логических процессоров по 4 ядра в каждом.