Как проверить наличие определенных характеристик процессора в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом лабораторном занятии (LabEx) вы научитесь проверять наличие определенных функций процессора (CPU) на своей системе Linux. Вы изучите различные методы проверки информации о процессоре, начиная с основополагающей команды cat /proc/cpuinfo для просмотра подробных характеристик и флагов процессора.

После первоначальной проверки вы будете использовать команду lscpu для более структурированного обзора архитектуры и возможностей процессора. Наконец, вы будете изучать детали аппаратного обеспечения с помощью команды dmidecode, чтобы получить более глубокое понимание компонентов вашей системы, включая информацию о процессоре.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/UserandGroupManagementGroup -.-> linux/sudo("Privilege Granting") subgraph Lab Skills linux/cat -.-> lab-558803{{"Как проверить наличие определенных характеристик процессора в Linux"}} linux/sudo -.-> lab-558803{{"Как проверить наличие определенных характеристик процессора в Linux"}} end

Вывод характеристик процессора с помощью команды cat /proc/cpuinfo

На этом этапе вы научитесь проверять информацию о процессоре (CPU) своей системы Linux с использованием команды cat и файла /proc/cpuinfo.

Файловая система /proc представляет собой виртуальную файловую систему в Linux, которая предоставляет информацию о процессах и другой системной информации. Файл /proc/cpuinfo содержит детали о процессоре (процессорах), установленном в вашей системе.

Команда cat является базовой утилитой Linux, используемой для отображения содержимого файлов.

Если терминал еще не открыт, откройте его. Для этого нажмите значок Xfce Terminal слева на рабочем столе.

Теперь введите следующую команду, чтобы отобразить содержимое файла /proc/cpuinfo:

cat /proc/cpuinfo

Нажмите Enter.

Вы увидите большое количество вывода, в котором детально описаны различные аспекты вашего процессора. Вывод будет похож на следующий (части вывода опущены для краткости и общности):

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 158
model name      : Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
stepping        : 9
microcode       : 0x...
cpu MHz         : ...
cache size      : ... KB
physical id     : 0
siblings        : 1
core id         : 0
cpu cores       : 1
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : ...
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms rtm invpcid mpx rdseed adx smap clflushopt xsaves xsaveopt pcpe bts md_clear flush_l1d arch_capabilities
bugs            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds mmio_stale_data retbleed
bogomips        : ...
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor       : 1
vendor_id       : GenuineIntel
...

Этот файл предоставляет подробную информацию о каждом ядре процессора, включая его производителя, название модели, скорость, размер кэша и поддерживаемые функции (перечисленные в разделе flags).

Понимание вывода файла /proc/cpuinfo полезно для устранения неполадок и понимания возможностей аппаратного обеспечения вашей системы.

Нажмите Продолжить, чтобы перейти к следующему шагу.

Проверка характеристик с помощью команды lscpu

На предыдущем этапе вы использовали команду cat /proc/cpuinfo для просмотра подробной информации о процессоре (CPU). Хотя файл /proc/cpuinfo содержит полную информацию, его вывод может быть очень объемным и иногда сложным для быстрого анализа.

Более удобная для пользователя команда для получения сводки информации об архитектуре процессора - это lscpu. Команда lscpu собирает информацию об архитектуре процессора из файла /proc/cpuinfo и представляет ее в хорошо отформатированном, удобочитаемом виде.

Давайте используем команду lscpu для получения сводки информации о вашем процессоре.

Введите следующую команду в терминале:

lscpu

Нажмите Enter.

Вы увидите краткую сводку об архитектуре вашего процессора. Вывод будет похож на следующий:

Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         39 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  1
  On-line CPU(s) list:   0
Vendor ID:               GenuineIntel
  Model name:            Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
    Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid tsc_known_freq pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase bmi1 hle avx2 smep bmi2 erms rtm invpcid mpx rdseed adx smap clflushopt xsaves xsaveopt pcpe bts md_clear flush_l1d arch_capabilities
L1d cache:               32K
L1i cache:               32K
L2 cache:                256K
L3 cache:                6M
NUMA node(s):            1
  NUMA node0 CPU(s):     0
Vulnerability Itlb multihit:  KVM: Mitigation: VMX disabled
Vulnerability L1tf:      Mitigation: PTE Inversion; VMX conditional cache flushes, SMT disabled
Vulnerability Mds:       Mitigation: Clear CPU buffers; SMT disabled
Vulnerability Meltdown:  Mitigation: PTI
Vulnerability Mmio stale data: Mitigation: Clear CPU buffers; SMT disabled
Vulnerability Retbleed:  Mitigation: IBPB conditional, IBRS_FW, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Spec store bypass: Mitigation: Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:  Mitigation: Invalidate IBPB conditional, INDIR branch predictor by IBPB_FW, STIBP disabled
Vulnerability Spectre v2:  Mitigation: IBPB conditional, IBRS_FW, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds:     Mitigation: Microcode
Vulnerability Tsx async abort: Not affected

Обратите внимание, как команда lscpu представляет информацию в структурированном формате, что упрощает поиск конкретных деталей, таких как архитектура, режимы работы процессора, идентификатор производителя, название модели и сводка флагов (характеристик процессора).

В то время как команда cat /proc/cpuinfo предоставляет сырые данные, команда lscpu дает проанализированное и структурированное представление, которое часто более удобно для быстрого обзора.

Нажмите Продолжить, чтобы перейти к следующему шагу.

Проверка аппаратного обеспечения с помощью dmidecode

На предыдущих этапах вы изучали информацию о процессоре (CPU) с использованием команд cat /proc/cpuinfo и lscpu. Теперь давайте рассмотрим более универсальный инструмент для проверки аппаратного обеспечения вашей системы: dmidecode.

dmidecode - это инструмент, который считывает таблицу DMI (Desktop Management Interface) или SMBIOS (System Management BIOS) компьютера. Эта таблица содержит информацию о компонентах аппаратного обеспечения системы, таких как материнская плата, BIOS, память и другие.

Поскольку dmidecode обращается к низкоуровневой системной информации, ему требуются привилегии суперпользователя (root). Вы можете использовать команду sudo для запуска dmidecode с этими привилегиями. Помните, что пользователь labex имеет доступ к sudo без ввода пароля в этой среде.

Введите следующую команду в терминале, чтобы отобразить полную информацию DMI:

sudo dmidecode

Нажмите Enter.

Вы увидите большое количество вывода, в котором детально описаны различные компоненты аппаратного обеспечения. Вывод структурирован на разные "хендлы" или разделы, каждый из которых описывает определенную часть системы (например, информация о BIOS, информация о системе, информация о материнской плате, информация о памяти).

Вот пример того, что вы можете увидеть (вывод может отличаться в зависимости от конфигурации виртуальной машины):

## dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.3.0 present.

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
        Vendor: Google
        Version: Google
        Release Date: 01/01/2011
        Address: 0xE8000
        Runtime Size: 96 kB
        ROM Size: 128 kB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                BIOS ROM is socketed
                EDD is supported
                5.25" / 1.2MB floppy services are supported (int 13h)
                3.5" / 720kB floppy services are supported (int 13h)
                3.5" / 2.88MB floppy services are supported (int 13h)
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                CGA/mono video services are supported (int 10h)
                NEC PC-98
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 0.0

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: Google
        Product Name: Google Compute Engine
        Version: pc-i440fx-xenial
        Serial Number: ...
        UUID: ...
        Wake-up Type: Power Switch
        SKU Number: ...
        Family: Virtual Machine

Handle 0x0002, DMI type 2, 10 bytes
Baseboard Information
        Manufacturer: Google
        Product Name: Google Compute Engine
        Version: pc-i440fx-xenial
        Serial Number: ...
        Asset Tag: No Asset Tag
        Features:
                Board is a hosting board
                Board is replaceable
        Location In Chassis: Not Specified
        Chassis Handle: 0x0003
        Type: Motherboard
        Contained Object Handles: 0

... (more output)

Вы также можете указать тип информации, которую хотите увидеть, используя опцию -t. Например, чтобы увидеть только информацию о памяти:

sudo dmidecode -t memory

Нажмите Enter.

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

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

Нажмите Продолжить, чтобы завершить этот практический урок.

Резюме

В этом практическом уроке вы узнали, как проверять наличие определенных характеристик процессора (CPU) в Linux. Вы начали с использования команды cat для отображения подробной информации о процессоре, содержащейся в виртуальном файле /proc/cpuinfo, который предоставляет полный список характеристик процессора и поддерживаемых флагов. Этот первый шаг познакомил вас с доступом к системной информации через файловую систему /proc.