Назад | Перейти на главную страницу

Понимание Intel HTT

Система 1: Ноутбук

Определите установленный ЦП:

$ cat /proc/cpuinfo | grep "model name" | head -1
model name  : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz

В технических данных говорится:

Обнаружение ядер и потоков:

$ sudo dmidecode -t processor | grep -E '(Core Count|Thread Count)'
Core Count: 2
Thread Count: 4

Вывод: Количество ядер и количество потоков подходит с таблицей данных.

Система 2: настольный ПК

Определите установленный ЦП:

$ cat /proc/cpuinfo | grep "model name" | head -1
model name  : Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz

В технических данных говорится:

Обнаружение ядер и потоков:

$ sudo dmidecode -t processor | grep -E '(Core Count|Thread Count)'
Core Count: 4
Thread Count: 2

Вывод: Количество ядер и количество потоков не соответствовать таблице данных.

Вопросы

[Edit] Обновление 1

Настольный ПК

$ lscpu | grep -i -E  "^CPU\(s\):|core|socket"
CPU(s):                8
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             1

Чтение снизу вверх:

Вывод: Количество ядер и количество потоков подходит с таблицей данных.

Ноутбук

$lscpu | grep -i -E  "^CPU\(s\):|core|socket"
CPU(s):                4
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1

Чтение снизу вверх:

Вывод: Количество ядер и количество потоков подходит с таблицей данных.

[EDIT] Обновление 2

$ sudo dmidecode -t processor
# dmidecode 2.12
SMBIOS 2.7 present.

Handle 0x0041, DMI type 4, 42 bytes
Processor Information
    Socket Designation: SOCKET 0
    Type: Central Processor
    Family: Core i7
    Manufacturer: Intel
    ID: C3 06 03 00 FF FB EB BF
    Signature: Type 0, Family 6, Model 60, Stepping 3
    Flags:
        FPU (Floating-point unit on-chip)
        VME (Virtual mode extension)
        DE (Debugging extension)
        PSE (Page size extension)
        TSC (Time stamp counter)
        MSR (Model specific registers)
        PAE (Physical address extension)
        MCE (Machine check exception)
        CX8 (CMPXCHG8 instruction supported)
        APIC (On-chip APIC hardware supported)
        SEP (Fast system call)
        MTRR (Memory type range registers)
        PGE (Page global enable)
        MCA (Machine check architecture)
        CMOV (Conditional move instruction supported)
        PAT (Page attribute table)
        PSE-36 (36-bit page size extension)
        CLFSH (CLFLUSH instruction supported)
        DS (Debug store)
        ACPI (ACPI supported)
        MMX (MMX technology supported)
        FXSR (FXSAVE and FXSTOR instructions supported)
        SSE (Streaming SIMD extensions)
        SSE2 (Streaming SIMD extensions 2)
        SS (Self-snoop)
        HTT (Multi-threading)
        TM (Thermal monitor supported)
        PBE (Pending break enabled)
    Version: Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
    Voltage: 1.1 V
    External Clock: 100 MHz
    Max Speed: 7000 MHz
    Current Speed: 3700 MHz
    Status: Populated, Enabled
    Upgrade: Other
    L1 Cache Handle: 0x0004
    L2 Cache Handle: 0x0005
    L3 Cache Handle: 0x0006
    Serial Number: Not Specified
    Asset Tag: Fill By OEM
    Part Number: Fill By OEM
    Core Count: 4
    Core Enabled: 1
    Thread Count: 2
    Characteristics:
        64-bit capable

Прежде всего, включение HTT означает, что на ядро ​​приходится два потока.

Теперь по поводу dmidecode output, что-то не так, поскольку в нем перечислены 4 ядра, 2 потока, как вы изначально указали.

Ваш полный dmidecode вывод, однако, намекает на то, что мог имеет смысл.

Core Count: 4
Core Enabled: 1
Thread Count: 2

Теперь, почему он говорит, что включено только 1 ядро? Я вижу два основных варианта:

  • включено только одно ядро ​​(наиболее очевидная причина)
    Возможно, убедитесь, что все ядра действительно включены (настройка UEFI / BIOS), но результаты других инструментов предполагают, что ядра включены.
  • что-то не так с данными DMI вашей системы

В dmidecode вывод, как следует из названия инструмента, основан на чтении данных DMI системы и их декодировании. Следовательно, вполне вероятно, что ошибочные данные не вызваны dmidecode сам инструмент, но с помощью таблиц DMI / SMBIOS вашей системы, содержащих неправильные значения.

Что касается таблицы данных, ей можно доверять в отношении возможностей самого чипа, но это может отвечать на несколько иной вопрос, чем то, что доступно в вашей среде (поскольку есть параметры конфигурации, которые могут включать / отключать некоторые функции).

  • Всегда сверяйтесь с таблицей данных
  • У меня был такой же процессор (версия K, иногда я разгоняю процессор в свободное время), и у вас есть 4 ядра и 8 потоков, 100% гарантия.
  • Обычно на каждое ядро ​​приходится по 2 потока.
  • До сегодняшнего дня я не знал dmidecode: /

Это то, что я написал вам в качестве комментария к вашему вопросу. Я также поделился с вами ссылкой, и я рад, что вы решили ее с помощью инструкций на этой странице.

Это ссылка: http://fibrevillage.com/sysadmin/155-how-to-tell-if-cpu-hyperthreading-enabled-on-linux

Я читал это

Примечание: на старой машине dmidecode может не предоставлять подробную информацию о процессоре, такую ​​как количество ядер, количество потоков и т. Д.

но 4770 не так уж и стар, это все еще отличный процессор.

В любом случае, есть и другие решения, и я рад, что одно из них сработало для вас!

В частности: lscpu | grep -i -E "^CPU\(s\):|core|socket"

Я, конечно, не беру на себя ответственность за это! Я считаю, что лучше просто написать ответ и закрыть его, если вы считаете, что решили!