Inspeccionar las banderas de la CPU en /proc/cpuinfo
En este paso, explorarás el archivo /proc/cpuinfo
, que es un archivo virtual proporcionado por el kernel de Linux que contiene información sobre la(s) CPU(s) de tu sistema. Este archivo es una gran fuente de detalles sobre tu procesador, incluyendo su modelo, velocidad, tamaño de caché y características admitidas (banderas).
El sistema de archivos /proc
es un pseudo-sistema de archivos que proporciona una interfaz a las estructuras de datos del kernel. Los archivos dentro de /proc
no se almacenan en el disco, sino que son generados sobre la marcha por el kernel cuando los accedes.
Para ver el contenido de /proc/cpuinfo
, puedes usar una utilidad de línea de comandos como cat
o less
. cat
imprimirá todo el contenido en la terminal, mientras que less
te permite desplazarte por el contenido página por página. Dado que /proc/cpuinfo
puede ser bastante largo, less
suele ser más conveniente.
Abre tu terminal y escribe el siguiente comando para ver la información de la CPU usando cat
:
cat /proc/cpuinfo
Verás información detallada para cada núcleo de CPU en tu sistema. La salida incluirá líneas como processor
, vendor_id
, model name
, cpu MHz
, cache size
y flags
.
A continuación, un ejemplo de lo que podrías ver (se omiten partes de la salida por brevedad):
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 158
model name : Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz
stepping : 13
microcode : 0xffffffff
cpu MHz : 2904.000
cache size : 16384 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 22
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 ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds mmio_stale_data retbleed
bogomips : 5808.00
clflush size : 64
cache_alignment : 64
address sizes : 43 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 158
model name : Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz
stepping : 13
microcode : 0xffffffff
cpu MHz : 2904.000
cache size : 16384 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 22
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 ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves arch_capabilities
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit srbds mmio_stale_data retbleed
bogomips : 5808.00
clflush size : 64
cache_alignment : 64
address sizes : 43 bits physical, 48 bits virtual
power management:
La línea flags
es especialmente interesante, ya que enumera las diversas características y extensiones admitidas por tu CPU. Estas banderas indican capacidades como soporte de virtualización (vmx
o svm
), conjuntos de instrucciones específicos (como sse
, avx
) y características de seguridad.
También puedes usar grep
para buscar información específica dentro de /proc/cpuinfo
. Por ejemplo, para encontrar el nombre del modelo:
grep "model name" /proc/cpuinfo
Esto mostrará el nombre del modelo para cada núcleo de CPU:
model name : Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz
model name : Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz
O, para comprobar la presencia de una bandera específica, como vmx
(soporte de virtualización Intel VT-x):
grep "vmx" /proc/cpuinfo
Si vmx
está presente en la salida, tu CPU admite la virtualización Intel VT-x.
Explorar /proc/cpuinfo
es una forma fundamental de entender las capacidades del procesador de tu sistema directamente desde la perspectiva del kernel.
Haz clic en Continue para completar este laboratorio.