Определите установленный ЦП:
$ 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
Вывод: Количество ядер и количество потоков подходит с таблицей данных.
Определите установленный ЦП:
$ 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
Вывод: Количество ядер и количество потоков не соответствовать таблице данных.
dmidecode
?$ 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
Чтение снизу вверх:
Вывод: Количество ядер и количество потоков подходит с таблицей данных.
$ 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 ядро? Я вижу два основных варианта:
В dmidecode
вывод, как следует из названия инструмента, основан на чтении данных DMI системы и их декодировании. Следовательно, вполне вероятно, что ошибочные данные не вызваны dmidecode
сам инструмент, но с помощью таблиц DMI / SMBIOS вашей системы, содержащих неправильные значения.
Что касается таблицы данных, ей можно доверять в отношении возможностей самого чипа, но это может отвечать на несколько иной вопрос, чем то, что доступно в вашей среде (поскольку есть параметры конфигурации, которые могут включать / отключать некоторые функции).
Это то, что я написал вам в качестве комментария к вашему вопросу. Я также поделился с вами ссылкой, и я рад, что вы решили ее с помощью инструкций на этой странице.
Это ссылка: http://fibrevillage.com/sysadmin/155-how-to-tell-if-cpu-hyperthreading-enabled-on-linux
Я читал это
Примечание: на старой машине dmidecode может не предоставлять подробную информацию о процессоре, такую как количество ядер, количество потоков и т. Д.
но 4770 не так уж и стар, это все еще отличный процессор.
В любом случае, есть и другие решения, и я рад, что одно из них сработало для вас!
В частности: lscpu | grep -i -E "^CPU\(s\):|core|socket"
Я, конечно, не беру на себя ответственность за это! Я считаю, что лучше просто написать ответ и закрыть его, если вы считаете, что решили!