2010-06-10 23 views
11

Tengo curiosidad por saber cuál es el orden de la CPU en Linux. Supongamos que ato un hilo a cpu0 y otro a cpu1 en un sistema hyperthreaded, ambos van a estar en el mismo núcleo físico. Dado un Core i7 920 con 4 núcleos e hyperthreading, la salida de/proc/cpuinfo me hace pensar que cpu0 y cpu1 son núcleos físicos diferentes, y cpu0 y cpu4 están en el mismo núcleo físico.Orden de CPU en Linux (con hiperamientaje)

Gracias.

Respuesta

18

La CPU/socket físico se enumera como physical id.
El núcleo físico se muestra como core id.
Una entrada del procesador debido a la lectura de guiones obtendrá su propio processor, pero comparta core id y physical id con otra.

Tenga en cuenta que cada CPU física (physical id) puede tener varios núcleos (core id), que pueden subdividirse en cpus lógicos adicionales mediante hyperthreading. Las CPU lógicas se ordenan en general por processor id.

Hay una explicación detallada con ejemplos aquí: archive.richweb.com/cpu_info via web.archive.org

+0

Eso es incorrecto. 'Identificación física' es un zócalo. Él tiene una sola computadora de zócalo con un quadcore i7 con hyperthreading. Todos sus núcleos deberían tener 'id físico' 0. 'núcleo id' se refiere a los núcleos físicos, y debería tener 0-3 de esos. Los núcleos lógicos se definen como 'procesador' y deben numerarse 0-7. ... En mi sistema, los procesadores 0 y 4 comparten el mismo ID de núcleo, los procesadores 1 y 5 comparten el mismo ID de núcleo, etc. Solo asegúrese de no vincular dos procesos al mismo "ID de núcleo" a menos que realmente desee a. Por lo tanto, los procesadores 0 y 4 son cpus lógicos (hyperthreading) en el mismo núcleo. – bobpaul

+0

@bobpaul, gracias ... lo arregló. – Stephen

+0

Puede usar 'egrep" ((id | processo). *: |^* $) "/ Proc/cpuinfo' para obtener solo la información relevante de'/proc/cpuinfo' –

-1

Ver el puntero proporcionado en this link. La información está en/proc/cpuinfo con respecto a los procesadores físicos, núcleos e hyperthreading, pero debe coincidir con la información de múltiples entradas en ese archivo para identificar a los grupos juntos.

1

Puede usar likwid-topology -g para obtener la topología gráfica de la CPU. Muestra cada núcleo primario de la CPU junto con el núcleo hermano.

Cuestiones relacionadas