El número de CPU difiere en 'Acerca de esta computadora' y /cpu/cpuinfo

El número de CPU difiere en 'Acerca de esta computadora' y /cpu/cpuinfo

Pregunta:

Me gustaría preguntar qué puede causar que haya dos informaciones diferentes sobre la cantidad de procesadores. Vea los informes a continuación.

Diálogo del sistema:

Si abro la pestaña Configuración del sistema/Detalles (igual que la rueda Cerrar sesión y Acerca de esta computadora), recibo lo siguiente:

Procesador: CPU Intel® Xeon(R) E5-2680 v3 a 2,50 GHz × 16


CLI: información de CPU (1)

Sin embargo, al usar un comando de línea de comando, obtengo lo siguiente:

$ cat /proc/cpuinfo | grep processor | wc -l
24

Tiendo a creer en el informe de la línea de comandos, pero ¿qué puede hacer que sean diferentes?

FIY: el monitor del sistema también muestra estadísticas para 24 núcleos


CLI: información de CPU (2)

Como lo sugieren los comentarios, también ejecuté la siguiente línea de comando

$ cat /proc/cpuinfo |grep 'core id'|sort|uniq|wc -l
12

¡Así que ahora tengo incluso un tercer resultado! Esto tiene sentido ya que podría ser que haya 12 núcleos con 2 procesadores en la máquina, pero ¿cómo es posible que el cuadro de diálogo del sistema cuente 16?

Respuesta1

Creo que los núcleos de CPU se explican mejor en relación con el multiprocesamiento simétrico (SMP).

ingrese la descripción de la imagen aquí

Intel Core 2 DúoDiagrama para mostrar el diseño físico. ingrese la descripción de la imagen aquí


La información de la CPU del sistema se almacena en el /procdirectorio. El software puede presentarlo claramente lscpu, como se muestra a continuación. Estoy dando tres ejemplos para contrastar: una computadora de escritorio con 2 núcleos de CPU, un servidor con 48 y una Raspberry Pi con 4.

Computadora de escritorio
usuario@nombre de host:~$ lscpu
Arquitectura: x86_64
Modos operativos de CPU: 32 bits, 64 bits
Orden de bytes: Little Endian
CPU(s): 2
Lista de CPU(s) en línea: 0,1
Hilo(s) por núcleo: 1
Núcleo(s) por zócalo: 2
Enchufe(s): 1
Nodo(s) NUMA: 1
ID de proveedor: Intel genuino
Familia de CPU: 6
Modelo: 60
Paso a paso: 3
CPUMHz: 800.000
BogotáMIPS: 5586.94
Virtualización: VT-x
Caché L1d: 32K
Caché L1i: 32K
Caché L2: 256K
Caché L3: 2048K
CPU(s) del nodo NUMA0: 0,1

Servidor
usuario@nombredehost%lscpu
Arquitectura: x86_64
Modos operativos de CPU: 32 bits, 64 bits
Orden de bytes: Little Endian
CPU(s): 48
Lista de CPU(s) en línea: 0-47
Hilo(s) por núcleo: 2
Núcleo(s) por zócalo: 12
Enchufe(s): 2
Nodo(s) NUMA: 1
ID de proveedor: Intel genuino
Familia de CPU: 6
Modelo: 62
Paso a paso: 4
MHz de CPU: 1799,724
BogoMIPS: 3600.09
Virtualización: VT-x
Caché L1d: 32K
Caché L1i: 32K
Caché L2: 256K
Caché L3: 30720K
CPU(s) del nodo NUMA0: 0-47

Frambuesa Pi
jeff@clear-pi:~$lscpu
Arquitectura: armv7l
Orden de bytes: Little Endian
CPU(s): 4
Lista de CPU(s) en línea: 0-3
Hilo(s) por núcleo: 1
Núcleo(s) por zócalo: 4
Enchufe(s): 1
Nombre del modelo: Procesador ARMv7 rev 5 (v7l)
CPU máx.MHz: 900.0000
CPU mín.MHz: 600.0000

El total del servidor es 48, pero hay 3 números que se deben multiplicar para llegar allí:2*12*2=48. Las diferencias en la disposición de los fabricantes de CPU son evidentes al comparar de esta manera.

Escritorio
[Hilo(s) por núcleo: 1] * [Núcleo(s) por zócalo: 1] * [Zócalo(s): 1] = 2

Servidor
[Hilo(s) por núcleo: 2] * [Núcleo(s) por zócalo: 12] * [Zócalo(s): 2] = 48

Frambuesa Pi
[Hilo(s) por núcleo: 1] * [Núcleo(s) por zócalo: 4] * [Zócalo(s): 1] = 4  

lshwtiene más información del sistema, pero no es tan útil aquí.

Computadora de escritorio
usuario@nombredehost:~$ sudo lshw
     *-UPC
          descripción: CPU
          Producto: CPU Intel(R) Celeron(R) G1840 a 2,80 GHz
          proveedor: Intel Corp.
          identificación física: 9
          información del autobús: cpu@0
          versión: CPU Intel(R) Celeron(R) G1840 a 2,80 GHz
          ranura: ENCHUFE 0
          tamaño: 2800MHz
          capacidad: 3800MHz
          ancho: 64 bits
          reloj: 100MHz

Servidor
usuario@nombredehost% sudo lshw
     *-procesador:0
          descripción: CPU
          Producto: CPU Intel(R) Xeon(R) E5-2651 v2 a 1,80 GHz
          proveedor: Intel Corp.
          identificación física: 4
          información del autobús: cpu@0
          versión: CPU Intel(R) Xeon(R) E5-2651 v2 a 1,80 GHz
          ranura: ENCHUFE 0
          tamaño: 1800MHz
          capacidad: 4GHz
          ancho: 64 bits
          reloj: 100MHz

Frambuesa Pi
usuario@nombredehost:~ $ sudo lshw
*-procesador:0
          descripción: CPU
          producto: CPU
          identificación física: 0
          información del autobús: cpu@0
          tamaño: 900MHz
          capacidad: 900MHz
          capacidades: cpufreq

Por último, este método me ha funcionado en varios sistemas operativos Linux/UNIX diferentes donde lscpu no estaba disponible. Es una variación de algo sugerido en la pregunta y los comentarios, pero prefiero el comando abreviado y el resultado simple.

user@hostname:~ $ grep -c ^processor /proc/cpuinfo
4

Referencia:¿Cómo encontrar la cantidad de núcleos de CPU, incluidos los virtuales?

Referencia:https://stackoverflow.com/questions/6481005/how-to-obtain-the-number-of-cpus-cores-in-linux-from-the-command-line

Referencia:https://stackoverflow.com/questions/19225859/difference-between-core-and-processor

información relacionada