GNU/Linux >> Tutoriales Linux >  >> Linux

Linux descubre la identificación del núcleo con hiperprocesos

Descubrí el truco simple para hacer lo que necesito.

cat /sys/devices/system/cpu/cpu0/topology/thread_siblings_list

Si el primer número es igual al número de CPU (0 en este ejemplo), entonces es un núcleo real, si no, es un núcleo de hiperprocesamiento.

Ejemplo de núcleo real:

# cat /sys/devices/system/cpu/cpu1/topology/thread_siblings_list
1,13

Ejemplo básico de Hyperthreading

# cat /sys/devices/system/cpu/cpu13/topology/thread_siblings_list
1,13

El resultado del segundo ejemplo es exactamente el mismo que el primero. Sin embargo, estamos comprobando cpu13 , y el primer número es 1 , por lo que CPU 13 es un núcleo de hiperprocesamiento.


Me sorprende que nadie haya mencionado lscpu aún. Este es un ejemplo de un sistema de un solo socket con cuatro núcleos físicos e hiperprocesamiento habilitado:

$ lscpu -p
# The following is the parsable format, which can be fed to other
# programs. Each different item in every column has an unique ID
# starting from zero.
# CPU,Core,Socket,Node,,L1d,L1i,L2,L3
0,0,0,0,,0,0,0,0
1,1,0,0,,1,1,1,0
2,2,0,0,,2,2,2,0
3,3,0,0,,3,3,3,0
4,0,0,0,,0,0,0,0
5,1,0,0,,1,1,1,0
6,2,0,0,,2,2,2,0
7,3,0,0,,3,3,3,0

El resultado explica cómo interpretar la tabla de ID; los ID de CPU lógicos con el mismo Core ID son hermanos.


Linux
  1. Cómo averiguar qué hace un comando de Linux

  2. Linux:¿cómo averiguar el espacio de nombres de un proceso en particular?

  3. Comandos de búsqueda de Linux

  4. Descubra los procesos huérfanos de Linux

  5. encontrar ejemplos de comandos en Linux

Cómo averiguar la versión del kernel de Linux que se ejecuta en su PC

Cómo averiguar la dirección IP pública desde la línea de comandos en Linux

Cómo averiguar el estado conectado de un cable de red en Linux

Cómo encontrar la dirección IP en Linux

Cómo encontrar el nombre de host en Linux

Cómo saber a qué grupos pertenece un usuario en Linux