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

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

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

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

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

В техническом описании указано:

  • количество ядер 2
  • кол-во нитей 4

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

$ 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

В техническом описании указано:

  • количество ядер 4
  • кол-во нитей 8

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

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

Заключение: Количество ядер и количество потоковнесоответствуют техническому описанию.

Вопросы

  • Как читать технические описания Intel и их выходные данные dmidecode?
  • Сколько у меня ядер?
  • Сколько потоков имеет каждое ядро?
  • Сколько потоков имеет вся система?

[Изменить] Обновление 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

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

  • У меня 1 сокет с 4 ядрами, каждое с 2 потоками => всего 8 потоков (ЦП)

Заключение: Количество ядер и количество потоковподходитс техническим паспортом.

Блокнот

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

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

  • У меня 1 сокет с 2 процессорами, каждый с 2 ​​потоками => всего 4 потока (ЦП)

Заключение: Количество ядер и количество потоковподходитс техническим паспортом.

[ПРАВКА] Обновление 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

решение1

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

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

Вот ссылка: http://fibrevillage.com/sysadmin/155-как-указать-если-процессор-hyperthreading-включен-на-linux

Я прочитал это

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

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

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

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

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

решение2

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

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

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

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

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

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

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

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

Связанный контент