У меня есть два бокса под управлением Debian 7 со следующими процессорами. В каждом Box есть два одинаковых процессора.
Процессор Intel® Xeon® E5-2620 (15 МБ кэш-памяти, 2,00 ГГц, 7,20 ГТ / с Intel® QPI)
Количество ядер 6
Количество потоков 12
Процессор Intel® Xeon® E5-2609 v2 (10 МБ кэш-памяти, 2,50 ГГц)
Количество ядер 4
Количество потоков 4
Теперь при запуске следующих двух команд на обоих серверах - cat /proc/cpuinfo | grep processor
и lscpu
- Я понимаю, что в ячейке 1 0-23, а в ячейке 2 0-8.
Ожидается ли это с учетом приведенных выше спецификаций, и если да, то как Debian приходит к этим цифрам? Я читал о гиперпоточности, но, похоже, это не объясняет причину их появления. Цифры.
Я хочу сказать, что Debian основывает это на # нитях
так коробка
Но потоки просто показывают количество параллельных каналов, к которым имеет доступ многопоточное приложение. Я думаю, что за годы разработки терминология ЦП, процессоров, сокетов и ядер стала запутанной.
Это связано с различиями моделей процессоров.
Вы правы в том, что Threads == количество одновременных потоков и является составной частью количества ядер, количества сокетов и доступности Hyperthreading на конкретном процессоре.
Главное отличие здесь в том, что E5-2609 - это процессор начального уровня, для которого недоступна технология Hyperthreading. В E5-2620 это самый дешевый процессор в линейке с Hyperthreading.
Так что 2609 на самом деле всего лишь 4-ядерный процессор. У вас их два, значит, у вас 8 физических ядер.
2620 - это 6-ядерный процессор с Hypethreading ... так что у вас есть 12 «потоков», состоящих из 6 физических ядер и 6 логических ядер. С двумя процессорами это дает вам 12 физических ядер и 24 потока.