Есть ли способ в терминале Linux напрямую найти микроархитектуру процессора?

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

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

5
задан EBM
источник

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, которое 6-ое поколение (первый номер следовать частью " и7 -"; см. страница Intel по номерам процессоров) процессор семейства Core. К сожалению, нет простого способа сопоставить эту информацию с такой красивой строкой, как"Skylake".

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

2
отвечен CBHacking 2016-09-12 23:52:41
источник

кодовые имена процессоров недоступны из встроенных инструментов. Ближе всего вы получите номер модели процессора с помощью:

lscpu или cat /proc/cpuinfo

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

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

Hwloc (Portable hardware locality) - небольшая утилита, которая сообщает структура процессора в аккуратной визуальной схеме. На схеме показано количество ядер, гиперпространств и размер кэша. Одна диаграмма рассказывает все.

sudo apt-get install hwloc hwloc

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

2
отвечен nimda 2016-09-13 00:01:56
источник

Другие вопросы bash linux microarchitecture