9 команд для проверки информации о CPU в Linux

от автора

Информация об аппаратном обеспечении CPU

Информация о CPU (Central Processing Unit. Центральный процессор) включает в себя подробные сведения о процессоре, такие как архитектура, название производителя, модель, количество ядер, скорость каждого ядра и т.д.

В linux существует довольно много команд для получения подробной информации о CPU.

В этой статье мы рассмотрим некоторые из часто встречающихся команд, которые можно использовать для получения подробной информации о CPU.

1. /proc/cpuinfo

Файл /proc/cpuinfo содержит подробную информацию об отдельных ядрах CPU.

Выведите его содержимое с помощью less или cat.

$ less /proc/cpuinfo processor       : 0 vendor_id       : GenuineIntel cpu family      : 6 model           : 23 model name      : Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz stepping        : 10 microcode       : 0xa07 cpu MHz         : 1998.000 cache size      : 2048 KB physical id     : 0 siblings        : 4 core id         : 0 cpu cores       : 4 apicid          : 0 initial apicid  : 0 fpu             : yes fpu_exception   : yes cpuid level     : 13 wp              : yes flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dtherm tpr_shadow vnmi flexpriority bogomips        : 5303.14 clflush size    : 64 cache_alignment : 64 address sizes   : 36 bits physical, 48 bits virtual power management:

Каждый процессор или ядро перечислены отдельно, а различные подробности о скорости, размере кэша и названии модели включены в описание.

Чтобы подсчитать количество процессоров, используйте grep с wc

$ cat /proc/cpuinfo | grep processor | wc -l 4

Количество процессоров, показанное в /proc/cpuinfo, может не соответствовать реальному количеству ядер процессора. Например, процессор с 2 ядрами и гиперпоточностью будет показан как процессор с 4 ядрами.

Чтобы получить фактическое количество ядер, проверьте идентификатор ядра на наличие уникальных значений

$ cat /proc/cpuinfo | grep 'core id' core id         : 0 core id         : 2 core id         : 1 core id         : 3

Соответственно, есть 4 разных идентификатора ядра. Это указывает на то, что существует 4 реальных ядра.

2. lscpu — отображение информации об архитектуре CPU

lscpu — это небольшая и быстрая команда, не требующая никаких опций. Она просто выводит информацию об аппаратном обеспечении CPU в удобном для пользователя формате.

$ 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:    1 Core(s) per socket:    4 Socket(s):             1 NUMA node(s):          1 Vendor ID:             GenuineIntel CPU family:            6 Model:                 23 Stepping:              10 CPU MHz:               1998.000 BogoMIPS:              5303.14 Virtualization:        VT-x L1d cache:             32K L1i cache:             32K L2 cache:              2048K NUMA node0 CPU(s):     0-3

3. hardinfo

Hardinfo — это gui  инструмент на базе gtk, который генерирует отчеты о различных аппаратных компонентах. Но он также может запускаться из командной строки, в случае если отсутствует возможность отображения gui (Graphical User Interface — графический интерфейс пользователя).

$ hardinfo | less

Он создаст большой отчет о многих аппаратных частях, читая файлы из каталога /proc. Информация о CPU находится в начале отчета. Отчет также может быть записан в текстовый файл.

Hardinfo выполняет несколько эталонных тестов, занимающих несколько минут, прежде чем вывести отчет на экран.

4. lshw

Команда lshw может отобразить ограниченную информацию о CPU. lshw по умолчанию показывает информацию о различных аппаратных частях, а опция ‘-class‘ может быть использована для сбора информации о конкретной аппаратной части.

$ sudo lshw -class processor   *-cpu        description: CPU        product: Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz        vendor: Intel Corp.        physical id: 0        bus info: cpu@0        version: Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz        slot: LGA 775        size: 1998MHz        capacity: 4GHz        width: 64 bits        clock: 333MHz        capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx x86-64 constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dtherm tpr_shadow vnmi flexpriority cpufreq

Производитель, модель и скорость процессора отображаются правильно. Однако из приведенного выше результата невозможно определить количество ядер в процессоре.

Чтобы узнать больше о команде lshw, ознакомьтесь с этой статьей:

Примеры выполнения команды lshw для получения информации об аппаратном обеспечении в Linux

5. nproc

Команда nproc просто выводит количество доступных вычислительных блоков. Обратите внимание, что количество вычислительных блоков не всегда совпадает с количеством ядер.

$ nproc 4

6. dmidecode

Команда dmidecode отображает некоторую информацию о CPU, которая включает в себя тип сокета, наименование производителя и различные флаги.

$ sudo dmidecode -t 4 # dmidecode 2.12 SMBIOS 2.4 present. Handle 0x0000, DMI type 4, 35 bytes Processor Information         Socket Designation: LGA 775         Type: Central Processor         Family: Pentium D         Manufacturer: Intel(R) Corporation         ID: 7A 06 01 00 FF FB EB BF         Signature: Type 0, Family 6, Model 23, Stepping 10         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)2 Quad CPU    Q8400  @ 2.66GHz         Voltage: 1.6 V         External Clock: 333 MHz         Max Speed: 4000 MHz         Current Speed: 2666 MHz         Status: Populated, Enabled         Upgrade: Socket LGA775         L1 Cache Handle: 0x0003         L2 Cache Handle: 0x0001         L3 Cache Handle: Not Provided         Serial Number: Not Specified         Asset Tag: Not Specified         Part Number: Not Specified

7. cpuid

Команда cpuid собирает информацию CPUID о процессорах Intel и AMD x86.

Программа может быть установлена с помощью apt на ubuntu

$ sudo apt-get install cpuid

А вот пример вывода

$ cpuid ..... Vendor ID: "GenuineIntel"; CPUID level 13 Intel-specific functions: Version 0001067a: Type 0 - Original OEM Family 6 - Pentium Pro Model 7 - Pentium III/Pentium III Xeon - external L2 cache Stepping 10 Reserved 4 Extended brand string: "Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz" CLFLUSH instruction cache line size: 8 Initial APIC ID: 2 Hyper threading siblings: 4 Feature flags bfebfbff: FPU    Floating Point Unit VME    Virtual 8086 Mode Enhancements DE     Debugging Extensions PSE    Page Size Extensions TSC    Time Stamp Counter MSR    Model Specific Registers PAE    Physical Address Extension MCE    Machine Check Exception CX8    COMPXCHG8B Instruction APIC   On-chip Advanced Programmable Interrupt Controller present and enabled SEP    Fast System Call MTRR   Memory Type Range Registers PGE    PTE Global Flag MCA    Machine Check Architecture CMOV   Conditional Move and Compare Instructions FGPAT  Page Attribute Table PSE-36 36-bit Page Size Extension CLFSH  CFLUSH instruction DS     Debug store ACPI   Thermal Monitor and Clock Ctrl MMX    MMX instruction set FXSR   Fast FP/MMX Streaming SIMD Extensions save/restore SSE    Streaming SIMD Extensions instruction set SSE2   SSE2 extensions SS     Self Snoop HT     Hyper Threading TM     Thermal monitor 31     reserved .....

8. inxi

Inxi — это скрипт, который использует другие программы для создания хорошо структурированного легко читаемого отчета о различных аппаратных компонентах системы. Ознакомьтесь с полным руководством по inxi.

$ sudo apt-get install inxi

Вывод соответствующей информации о CPU/процессоре

$ inxi -C CPU:       Quad core Intel Core2 Quad CPU Q8400 (-MCP-) cache: 2048 KB flags: (lm nx sse sse2 sse3 sse4_1 ssse3 vmx)            Clock Speeds: 1: 1998.00 MHz 2: 1998.00 MHz 3: 1998.00 MHz 4: 1998.00 MHz

Чтобы узнать больше о команде inxi и ее использовании, ознакомьтесь с этой статьей:

Inxi — удивительный инструмент для проверки информации об аппаратном обеспечении в Linux

9. Hwinfo

Команда hwinfo — это программа для получения информации об оборудовании, которая может быть использована для сбора подробных сведений о различных аппаратных компонентах в системе Linux.

Она также отображает информацию о процессоре. Вот быстрый пример:

$ hwinfo --short --cpu cpu:                        Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz, 2275 MHz                        Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz, 2262 MHz                        Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz, 2058 MHz                        Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz, 2133 MHz $

Если не использовать опцию «—short», команда отобразит гораздо больше информации о каждом ядре CPU, например, архитектуру и характеристики процессора.

Чтобы более подробно изучить команду hwinfo, ознакомьтесь с этой статьей:

Проверка информации об аппаратном обеспечении в Linux с помощью команды hwinfo

Заключение

Это были некоторые команды для проверки информации о CPU в системах на базе Linux, таких как Ubuntu, Fedora, Debian, CentOS и др.

Примеры других команд для проверки информации о CPU смотрите в этой статье:

Как проверить информацию о процессоре и CPU в Linux — примеры команд

Большинство команд обрабатываются с помощью интерфейса командной строки и выводятся в текстовом формате. Для GUI интерфейса используйте программу Hardinfo.

Она показывает подробности об аппаратном обеспечении различных компонентов в простом для использования GUI интерфейсе.

Если вы знаете какую-либо другую полезную команду, которая может отображать информацию о CPU, сообщите нам об этом в комментариях ниже


Материал подготовлен в рамках курса Administrator Linux. Professional.

Если вы хотели бы узнать подробнее о формате обучения и программе, познакомиться с преподавателем курса — приглашаем на день открытых дверей онлайн. Регистрация здесь.

А если вам интересно развитие в этой сфере с нуля до pro, рекомендуем ознакомиться с учебной программой специализации.


ссылка на оригинал статьи https://habr.com/ru/articles/581796/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *