GNU/Linux >> Tutoriales Linux >  >> Linux

Número de procesadores en /proc/cpuinfo

Las palabras "CPU", "procesador" y "núcleo" se utilizan de forma un tanto confusa. Se refieren a la arquitectura del procesador. Un núcleo es la unidad independiente más pequeña que implementa un procesador de propósito general; un procesador es un conjunto de núcleos (en algunos sistemas ARM, un procesador es un conjunto de clústeres que a su vez son conjuntos de núcleos). Un chip puede contener uno o más procesadores (los chips x86 contienen un solo procesador, en este sentido de la palabra procesador ).

Hyperthreading significa que algunas partes de un núcleo están duplicadas. Un núcleo con hiperprocesamiento a veces se presenta como un conjunto de dos "núcleos virtuales", lo que no significa que cada núcleo sea virtual, sino que el plural es virtual porque en realidad no son núcleos separados y, a veces, tendrán que esperar mientras el otro núcleo está funcionando. haciendo uso de una parte compartida.

En lo que respecta al software, solo hay un concepto que es útil en casi todas partes:la noción de hilos paralelos de ejecución. Así que en la mayoría de los manuales de software, los términos CPU y procesador se utilizan para referirse a cualquier pieza de hardware que ejecuta código de programa. En términos de hardware, esto significa un núcleo o un núcleo virtual con hiperprocesamiento.

Así top le muestra 4 CPU, porque puede tener 4 subprocesos ejecutándose al mismo tiempo. /proc/cpuinfo tiene 4 entradas, una para cada CPU (en ese sentido). El processor números (que son el número del cpuNUMBER entradas en /sys/devices/system/cpu ) corresponden a estos 4 hilos.

/proc/cpuinfo es uno de los pocos lugares donde obtiene información sobre qué hardware implementa estos hilos de ejecución:

physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2

significa que cpu0 es uno de los 4 subprocesos dentro del componente físico (procesador) número 0, y está en el núcleo 0 entre 2 en este procesador.


Solo respondiendo a tu primera pregunta. En la salida de cat /proc/cpuinfo puede ver la siguiente información:-

physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2

Puedes ver el recuento de siblings is 4 y cpu cores is 2 . cpu cores ser 2 es la cantidad total de núcleos en el procesador que se puede verificar a partir de la especificación proporcionada en la URL de Intel que proporcionó. Del mismo modo siblings es el determinado por el número de subprocesos que proporciona el HTT de Intel.

Del mismo modo, para la identificación física es 0 lo que indica que solo hay un chip de procesador y para las identificaciones de núcleo puede ver 0 and 1 eso es 2 núcleos en el procesador.

Actualización: Agregando respuestas a las otras preguntas.

¿Y el turbo boost? ¿Todos los núcleos son turboalimentados o solo físicos?

Bueno, diré que todos los núcleos activos están turboalimentados. Hola amigo, deberías haber revisado los ejemplos de nuestra querida Wikipedia. Explicado con cálculos también.

Any method in ubuntu to get current cpu freq. if processor is on turbo boost or not.

Turbo boost o no, puede ver los detalles de frecuencia en la salida de lscpu . Y para una salida refinada:-

lscpu | grep Hz

Puedes probar esto en la terminal:

sudo lscpu

Esto le dará una visión general del rasgo físico de su CPU. En cuanto a turbo boost o no, esto es puramente un control de hardware más que el propio sistema operativo, por lo que, a menos que Intel tenga controladores específicos para Linux que puedan ajustar la velocidad de su procesador, no hay una pista sólida para verificar el estado de turbo boost (a menos que haya un código de comando para Consulte otros foros si hay alguna pista con respecto a su pregunta).

En cuanto a mí, esto es lo que obtengo cuando escribo el comando anterior. Mi AMD dijo que es de cuatro núcleos, pero mi núcleo físico enumerado aquí es solo 2, con 2 subprocesos por núcleo (suma hasta 4 núcleos). Estoy usando el procesador APU AMD A10 5750m.

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             AuthenticAMD
CPU family:            21
Model:                 19
Stepping:              1
CPU MHz:               2500.000
BogoMIPS:              4990.51
Virtualization:        AMD-V
L1d cache:             16K
L1i cache:             64K
L2 cache:              2048K
NUMA node0 CPU(s):     0-3

Linux
  1. ¿Cuál es el equivalente de /proc/cpuinfo en FreeBSD v8.1?

  2. /proc/[pid]/pagemaps y /proc/[pid]/maps | linux

  3. ¿Cómo obtener la cantidad de CPU/núcleos en Linux desde la línea de comandos?

  4. Cambiar la ubicación del volcado del núcleo

  5. ¿Cómo saber desde qué carpeta se está ejecutando un proceso?

Linux:¿Qué significan las banderas en /proc/cpuinfo?

Linux – ¿Vincular /proc/mnt a /proc/mounts?

Archivos /proc/cpuinfo y /proc/meminfo en Linux

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions

¿Cuándo debo usar /dev/shm/ y cuándo debo usar /tmp/?

¿Deberían vivir los sitios web en /var/ o /usr/ según el uso recomendado?