Cómo comprobar si las características específicas de la CPU están disponibles en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo verificar las características específicas de la CPU disponibles en tu sistema Linux. Explorarás diferentes métodos para inspeccionar la información de la CPU, comenzando con el comando fundamental cat /proc/cpuinfo para ver las especificaciones y banderas detalladas de la CPU.

Después de la inspección inicial, utilizarás el comando lscpu para obtener una visión general más estructurada de la arquitectura y las capacidades de la CPU. Finalmente, profundizarás en los detalles del hardware utilizando dmidecode para obtener más información sobre los componentes de tu sistema, incluyendo la información de la CPU.


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{{"Cómo comprobar si las características específicas de la CPU están disponibles en Linux"}} linux/sudo -.-> lab-558803{{"Cómo comprobar si las características específicas de la CPU están disponibles en Linux"}} end

Listar las características de la CPU con cat /proc/cpuinfo

En este paso, aprenderás cómo inspeccionar la información de la CPU de tu sistema Linux utilizando el comando cat y el archivo /proc/cpuinfo.

El sistema de archivos /proc es un sistema de archivos virtual en Linux que proporciona información sobre procesos y otra información del sistema. El archivo /proc/cpuinfo contiene detalles sobre la(s) CPU(s) instaladas en tu sistema.

El comando cat es una utilidad fundamental de Linux utilizada para mostrar el contenido de archivos.

Abre tu terminal si no está abierta. Puedes hacer esto haciendo clic en el icono de Xfce Terminal en el lado izquierdo de tu escritorio.

Ahora, escribe el siguiente comando para mostrar el contenido del archivo /proc/cpuinfo:

cat /proc/cpuinfo

Presiona Enter.

Verás una gran cantidad de salida, que detalla varios aspectos de tu CPU. La salida se parecerá a esto (se omiten partes de la salida por brevedad y generalidad):

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

Este archivo proporciona información detallada sobre cada núcleo de CPU, incluyendo su proveedor, nombre del modelo, velocidad, tamaño de caché y características admitidas (listadas bajo flags).

Comprender la salida de /proc/cpuinfo es útil para solucionar problemas y entender las capacidades del hardware de tu sistema.

Haz clic en Continuar para pasar al siguiente paso.

Verificar características con lscpu

En el paso anterior, utilizaste cat /proc/cpuinfo para ver la información detallada de la CPU. Si bien /proc/cpuinfo es exhaustivo, la salida puede ser bastante detallada y, a veces, difícil de analizar rápidamente.

Un comando más amigable para el usuario para obtener un resumen de la información de la arquitectura de la CPU es lscpu. El comando lscpu recopila información de la arquitectura de la CPU de /proc/cpuinfo y la presenta en una salida bien formateada y legible por humanos.

Vamos a utilizar el comando lscpu para obtener un resumen de tu CPU.

Escribe el siguiente comando en tu terminal:

lscpu

Presiona Enter.

Verás un resumen conciso de la arquitectura de tu CPU. La salida se parecerá a esto:

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

Observa cómo lscpu presenta la información en un formato estructurado, lo que facilita encontrar detalles específicos como la arquitectura, los modos de operación de la CPU, el ID del proveedor, el nombre del modelo y un resumen de las banderas (características de la CPU).

Mientras que cat /proc/cpuinfo te da los datos sin procesar, lscpu proporciona una vista analizada y organizada, que a menudo es más conveniente para una visión general rápida.

Haz clic en Continuar para pasar al siguiente paso.

Inspeccionar el hardware con dmidecode

En los pasos anteriores, exploraste la información de la CPU utilizando cat /proc/cpuinfo y lscpu. Ahora, veamos una herramienta más general para inspeccionar el hardware de tu sistema: dmidecode.

dmidecode es una herramienta que lee la tabla DMI (Desktop Management Interface) o SMBIOS (System Management BIOS) de una computadora. Esta tabla contiene información sobre los componentes de hardware del sistema, como la placa madre, la BIOS, la memoria, etc.

Debido a que dmidecode accede a información de bajo nivel del sistema, requiere privilegios de root. Puedes utilizar el comando sudo para ejecutar dmidecode con estos privilegios. Recuerda que el usuario labex tiene acceso a sudo sin necesidad de contraseña en este entorno.

Escribe el siguiente comando en tu terminal para mostrar toda la información DMI:

sudo dmidecode

Presiona Enter.

Verás una gran cantidad de salida, que detalla varios componentes de hardware. La salida está estructurada en diferentes "handles" o secciones, cada una de las cuales describe una parte específica del sistema (por ejemplo, Información de la BIOS, Información del sistema, Información de la placa base, Dispositivo de memoria).

A continuación, un fragmento de lo que podrías ver (la salida variará según la configuración de la máquina virtual):

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

También puedes especificar el tipo de información que deseas ver utilizando la opción -t. Por ejemplo, para ver solo la información de la memoria:

sudo dmidecode -t memory

Presiona Enter.

Esto filtrará la salida para mostrar solo los detalles relacionados con los dispositivos de memoria del sistema.

dmidecode es una herramienta poderosa para recopilar especificaciones detalladas del hardware sin abrir la computadora. Es especialmente útil para inventariar el hardware o solucionar problemas relacionados con el hardware.

Haz clic en Continuar para completar este laboratorio.

Resumen

En este laboratorio, aprendiste cómo verificar características específicas de la CPU en Linux. Comenzaste utilizando el comando cat para mostrar la información detallada de la CPU contenida en el archivo virtual /proc/cpuinfo, que proporciona una lista exhaustiva de las características de la CPU y las banderas (flags) admitidas. Este primer paso te introdujo en el acceso a la información del sistema a través del sistema de archivos /proc.