Comment vérifier si des fonctionnalités spécifiques du processeur sont disponibles sous Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à vérifier les fonctionnalités spécifiques du processeur disponibles sur votre système Linux. Vous explorerez différentes méthodes pour inspecter les informations du processeur, en commençant par la commande fondamentale cat /proc/cpuinfo pour afficher les spécifications détaillées et les indicateurs (flags) du processeur.

Après cette première inspection, vous utiliserez la commande lscpu pour obtenir une vue d'ensemble plus structurée de l'architecture et des capacités du processeur. Enfin, vous plongerez dans les détails matériels en utilisant dmidecode pour obtenir des informations supplémentaires sur les composants de votre système, y compris les informations sur le processeur.


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{{"Comment vérifier si des fonctionnalités spécifiques du processeur sont disponibles sous Linux"}} linux/sudo -.-> lab-558803{{"Comment vérifier si des fonctionnalités spécifiques du processeur sont disponibles sous Linux"}} end

Lister les fonctionnalités du processeur avec cat /proc/cpuinfo

Dans cette étape, vous apprendrez à inspecter les informations du processeur de votre système Linux en utilisant la commande cat et le fichier /proc/cpuinfo.

Le système de fichiers /proc est un système de fichiers virtuel dans Linux qui fournit des informations sur les processus et d'autres informations système. Le fichier /proc/cpuinfo contient des détails sur le ou les processeurs installés dans votre système.

La commande cat est un utilitaire de base de Linux utilisé pour afficher le contenu des fichiers.

Ouvrez votre terminal s'il n'est pas déjà ouvert. Vous pouvez le faire en cliquant sur l'icône Xfce Terminal sur le côté gauche de votre bureau.

Maintenant, tapez la commande suivante pour afficher le contenu du fichier /proc/cpuinfo :

cat /proc/cpuinfo

Appuyez sur Entrée.

Vous verrez beaucoup de résultats, détaillant divers aspects de votre processeur. Le résultat ressemblera à ceci (certaines parties du résultat sont omises pour plus de brièveté et de généralité) :

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
...

Ce fichier fournit des informations détaillées sur chaque cœur de processeur, y compris son fabricant, son nom de modèle, sa vitesse, la taille de son cache et les fonctionnalités prises en charge (répertoriées sous flags).

Comprendre le résultat de /proc/cpuinfo est utile pour la résolution de problèmes et la compréhension des capacités du matériel de votre système.

Cliquez sur Continuer pour passer à l'étape suivante.

Vérifier les fonctionnalités avec lscpu

Dans l'étape précédente, vous avez utilisé cat /proc/cpuinfo pour afficher les informations détaillées du processeur. Bien que /proc/cpuinfo soit exhaustif, le résultat peut être assez verbeux et parfois difficile à analyser rapidement.

Une commande plus conviviale pour obtenir un résumé des informations sur l'architecture du processeur est lscpu. La commande lscpu collecte les informations sur l'architecture du processeur à partir de /proc/cpuinfo et les présente dans un résultat bien formaté et lisible par l'homme.

Utilisons la commande lscpu pour obtenir un résumé de votre processeur.

Tapez la commande suivante dans votre terminal :

lscpu

Appuyez sur Entrée.

Vous verrez un résumé concis de l'architecture de votre processeur. Le résultat ressemblera à ceci :

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

Remarquez comment lscpu présente les informations dans un format structuré, ce qui facilite la recherche de détails spécifiques tels que l'architecture, les modes de fonctionnement du processeur, l'identifiant du fabricant, le nom du modèle et un résumé des indicateurs (fonctionnalités du processeur).

Alors que cat /proc/cpuinfo vous donne les données brutes, lscpu fournit une vue analysée et organisée, ce qui est souvent plus pratique pour un aperçu rapide.

Cliquez sur Continuer pour passer à l'étape suivante.

Inspecter le matériel avec dmidecode

Dans les étapes précédentes, vous avez exploré les informations sur le processeur en utilisant cat /proc/cpuinfo et lscpu. Maintenant, examinons un outil plus général pour inspecter le matériel de votre système : dmidecode.

dmidecode est un outil qui lit la table DMI (Desktop Management Interface) ou SMBIOS (System Management BIOS) d'un ordinateur. Cette table contient des informations sur les composants matériels du système, tels que la carte mère, le BIOS, la mémoire, etc.

Étant donné que dmidecode accède à des informations système de bas niveau, il nécessite des privilèges root. Vous pouvez utiliser la commande sudo pour exécuter dmidecode avec ces privilèges. N'oubliez pas que l'utilisateur labex a accès à sudo sans avoir besoin de mot de passe dans cet environnement.

Tapez la commande suivante dans votre terminal pour afficher toutes les informations DMI :

sudo dmidecode

Appuyez sur Entrée.

Vous verrez une grande quantité de résultats, détaillant divers composants matériels. Les résultats sont structurés en différents "handles" ou sections, chacune décrivant une partie spécifique du système (par exemple, Informations sur le BIOS, Informations sur le système, Informations sur la carte mère, Dispositif de mémoire).

Voici un extrait de ce que vous pourriez voir (les résultats varieront en fonction de la configuration de la machine virtuelle) :

## 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)

Vous pouvez également spécifier le type d'informations que vous souhaitez voir en utilisant l'option -t. Par exemple, pour voir uniquement les informations sur la mémoire :

sudo dmidecode -t memory

Appuyez sur Entrée.

Cela filtrera les résultats pour afficher uniquement les détails liés aux dispositifs de mémoire du système.

dmidecode est un outil puissant pour collecter des spécifications matérielles détaillées sans ouvrir l'ordinateur. Il est particulièrement utile pour inventorier le matériel ou résoudre des problèmes liés au matériel.

Cliquez sur Continuer pour terminer ce laboratoire.

Résumé

Dans ce laboratoire, vous avez appris à vérifier les fonctionnalités spécifiques du processeur sous Linux. Vous avez commencé par utiliser la commande cat pour afficher les informations détaillées sur le processeur contenues dans le fichier virtuel /proc/cpuinfo, qui fournit une liste complète des caractéristiques du processeur et des indicateurs (flags) pris en charge. Cette première étape vous a familiarisé avec l'accès aux informations système via le système de fichiers /proc.