GNU/Linux >> Tutoriales Linux >  >> Linux

Entonces, ¿qué son los núcleos de CPU lógicos (a diferencia de los núcleos de CPU físicos)?

Estaba buscando en Google cómo podía encontrar la cantidad de CPU en una máquina y encontré algunas publicaciones, pero estoy confundido porque algunos mencionaron que obtienes los núcleos lógicos frente a los núcleos físicos, etc.
Entonces, ¿cuál es la diferencia entre lógico y núcleos físicos y ¿hay alguna manera de que pueda obtener solo los núcleos físicos? ¿O tiene sentido incluir núcleos lógicos en nuestro recuento?

Respuesta aceptada:

Los núcleos físicos son solo eso, núcleos físicos dentro de la CPU. Los núcleos lógicos son las capacidades de un solo núcleo para hacer 2 o más cosas simultáneamente. Esto surgió de la capacidad de las primeras CPU Pentium 4 para hacer lo que se denominó Hyper Threading (HTT).

Era un poco un juego que se jugaba en el que los subcomponentes del núcleo no se usaban para ciertos tipos de instrucciones, mientras que otra instrucción de ejecución prolongada podría haberse estado ejecutando. Entonces, la CPU podría funcionar en 2 cosas simultáneamente.

Los núcleos más nuevos son CPU más completas, por lo que trabajan en varias cosas simultáneamente, pero no son verdaderas CPU como lo son los núcleos físicos. Puede leer más sobre las limitaciones de la funcionalidad de hiperprocesamiento frente a las capacidades físicas del núcleo aquí en tomshardware en este artículo titulado:Intel Core i5 y Core i7:Intel's Mainstream Magnum Opus.

Puedes ver el desglose de tu caja usando el lscpu comando:

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
CPU(s):                4
Thread(s) per core:    2
Core(s) per socket:    2
CPU socket(s):         1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 37
Stepping:              5
CPU MHz:               2667.000
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3

En lo anterior, mi computadora portátil Intel i5 tiene 4 "CPU" en total

CPU(s):4

de los cuales hay 2 núcleos físicos (1 zócalo × 2 núcleos/zócalo =2 núcleos)

Núcleo(s) por zócalo:2

Zócalo(s) de CPU:1

de los cuales cada uno puede ejecutar hasta 2 subprocesos

Hilo(s) por núcleo:2

al mismo tiempo. Estos subprocesos son las capacidades lógicas del núcleo.


Linux
  1. ¿Qué significan los eventos de caché de rendimiento?

  2. ¿Qué son build-essential y build-dep?

  3. ¿Cuáles son los métodos disponibles para obtener el uso de la CPU en la línea de comandos de Linux?

  4. Qué puertos utiliza una aplicación

  5. Los volúmenes lógicos están inactivos en el momento del arranque

Gestión de volúmenes lógicos explicada en Linux

¿Qué son los inodos en Linux?

¿Para qué sirven los archivos .la de libtool?

¿Qué son vdso y vsyscall?

Comando superior de Linux:¿Qué somos, sy, ni, id, wa, hi, si y st (para uso de CPU)?

¿Cuáles son los beneficios del Administrador de volúmenes lógicos?