1

Есть ли способ в терминале Linux напрямую найти микроархитектуру процессора? Например, если это Nehalem, Westmere или Sandy Bridge, даже если это приложение с возможностью установки.

Заранее спасибо.

2 ответа2

2

Теоретически, команда, которую вы ищете, это lscpu , хотя в действительности она не сообщает вам имя генерации процессора в виде текстовой строки.

Пример вывода:

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 78
Stepping:              3
CPU MHz:               2808.000
BogoMIPS:              5616.00
Hypervisor vendor:     Microsoft
Virtualization type:   full

Соответствующие значения - семейство процессоров и модель. Вы можете сравнить их (после преобразования десятичных значений в шестнадцатеричные значения или наоборот) с этой диаграммой от Intel, если у вас более старый процессор, но эта диаграмма не обновлялась с 2012 года. Ниже есть комментарий, дающий более новую информацию (май 2015).

Например, в приведенных выше данных мой процессор имеет семейство 6 и модель 78 (0x4E). К сожалению, это не указано в таблице.

Альтернативная команда это cat /proc/cpuinfo . В результате получается в основном та же информация, но также строка названия модели , которая будет содержать номер модели процессора. Например, я получаю следующее:

$cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 78
model name      : Intel(R) Core(TM) i7-6600U CPU @ 2.60GHz
stepping        : 3
microcode       : 0xffffffff
cpu MHz         : 2808.000
cache size      : 256 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 6
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm pni pclmulqdq est tm2 ssse3 fma cx16 xtpr sse4_1 sse4_2 movbe popcnt aes xsave osxsave avx f16c rdrand hypervisor
bogomips        : 5616.00
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

...

Из этого вы можете видеть, что у меня Intel(R) Core(TM) i7-6600U, который является шестым поколением (первое число после части "i7-"; см . Страницу Intel по номерам процессоров) Процессор семейства Core , К сожалению, нет действительно простого способа отобразить эту информацию обратно в красивую строку, такую как "Skylake".

Лучший способ, который я нашел, - это зайти на http://ark.intel.com/ и поместить строку модели («i7-6600U») в окно поиска, выбрать то, что подходит (должно быть только 1), а затем установите флажок "Сопутствующие товары" справа. Там будет строка «Продукты ранее <CODENAME>», которую вы можете использовать, чтобы найти кодовое имя. Я понимаю, что это далеко не аккуратный подход, подходящий для сценария, но если все, что вас волнует, это поколение, вы можете написать эту часть с помощью приведенного выше.

2

Кодовые имена процессоров не доступны из встроенных инструментов. Самое близкое, что вы получите, это номер модели процессора, используя:

lscpu или cat /proc/cpuinfo

Показаны только модели процессора: lscpu | grep -i "Model name:" | cut -d':' -f2- -

Также этот источник предлагает скачать hwloc

Hwloc (Портативное аппаратное обеспечение) - это небольшая утилита, которая отображает структуру процессора на аккуратной визуальной диаграмме. Диаграмма показывает количество ядер, гиперпотоков и размер кэша. Одна диаграмма говорит обо всем.

sudo apt-get install hwloc hwloc

Кодовое название микроархитектуры будет указано под диаграммой.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .