Физические ядра - это просто физические ядра в процессоре. Логические ядра - это способности одного ядра выполнять 2 или более действия одновременно. Это выросло из ранней способности процессоров Pentium 4 выполнять то, что называлось Hyper Threading (HTT) .
Это была небольшая игра, в которую играли, когда подкомпоненты ядра не использовались для определенных типов инструкций, в то время как, возможно, выполнялась другая длительная инструкция. Таким образом, процессор может фактически работать на 2 вещи одновременно.
Более новые ядра - это более полноценные процессоры, поэтому они работают над несколькими процессами одновременно, но они не являются настоящими процессорами, как физические ядра. Вы можете узнать больше об ограничениях функциональности гиперпоточности и физических возможностей ядра здесь на tomshardware в этой статье под названием: Intel Core i5 и Core i7: основной процессор Intel Magnum Opus .
Вы можете увидеть разбивку вашего ящика, используя 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 "CPU"
ЦП: 4
из которых есть 2 физических ядра
Core (s) на сокет: 2
из которых каждый может работать до 2 потоков
Резьба (ы) на ядро: 2
в то же время. Эти потоки являются логическими возможностями ядра.
lscpu
Есть ли альтернативный инструмент?lscpu
использует подвергается здесь:cat /proc/cpuinfo
. Какая у тебя ОС?Core(s) per socket
разThread(s) per core: 2
=CPU(s): 4
? Верный?Физические ядра - это количество физических ядер, реальных аппаратных компонентов.
Логические ядра - это количество физических ядер, умноженное на количество потоков, которые могут работать на каждом ядре с помощью гиперпоточности.
например, мой 4-ядерный процессор работает с двумя потоками на ядро, поэтому у меня 8 логических процессоров.
источник
Таким образом, одно ядро процессора может выполнять два независимых потока одновременно .
Intel называет физический процессор сокетом.
Гиперпоточность заставляет физический процессор вести себя так, как будто он имеет два физических процессора, которые называются логическими процессорами. Почему?
Хотя гиперпоточность не удваивает производительность системы, она может повысить производительность за счет лучшего использования незанятых ресурсов, что приводит к большей пропускной способности для некоторых важных типов рабочей нагрузки. Приложение, работающее на одном логическом процессоре занятого ядра, может ожидать чуть более половины пропускной способности, которую оно получает, работая в одиночку на процессоре без гиперпотока.
Резюме
Физический процессор - это то, что мы можем видеть и падать.
Логический процессор вроде бы, Phsical ядро действует как два физических Ядра
источник
Две розетки. Каждый сокет имеет 14 физических ядер. Каждое ядро имеет два потока (28/14). Общее количество логических «процессоров» или логических процессоров составляет 56 (это то, что «top» и некоторые другие команды показывают как число «процессоров»).
источник
lscpu shows CPUs 4 and threads per 2 (=8) but
lshw -C cpu` показывает 16 логических процессоров с номерами 0 - 15lscpu
вывод, и он на самом деле всего 4 потока, но "lshw -C cpu` показывает 16 логических процессоров", я не уверен, что с этим делать.