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

1050
EBM

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

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

1
Разве недостаточно `/ proc / cpuinfo`? Ipor Sircer 8 лет назад 0

2 ответа на вопрос

2
CBHacking

Теоретически, команда, которую вы ищете 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
nimda

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

lscpu или же cat /proc/cpuinfo

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

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

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

sudo apt-get install hwloc hwloc

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

Похожие вопросы