GNU/Linux >> Linux Esercitazione >  >> Linux

Linux scopre l'ID core hyper-thread

Ho scoperto il semplice trucco per fare ciò di cui ho bisogno.

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

Se il primo numero è uguale al numero della CPU (0 in questo esempio), allora è un core reale, altrimenti è un core hyperthreading.

Esempio di base reale:

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

Esempio di base di hyperthreading

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

L'output del secondo esempio è esattamente lo stesso del primo. Comunque stiamo controllando cpu13 e il primo numero è 1 , quindi CPU 13 questo è un core hyperthreading.


Sono sorpreso che nessuno abbia menzionato lscpu ancora. Ecco un esempio su un sistema single-socket con quattro core fisici e hyper-threading abilitato:

$ 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

L'output spiega come interpretare la tabella degli ID; gli ID CPU logici con lo stesso ID Core sono fratelli.


Linux
  1. Come scoprire l'elenco di tutte le porte aperte in Linux

  2. Quale versione di Linux sto eseguendo? Ecco come scoprirlo

  3. Come scoprire cosa fa un comando Linux

  4. 4 modi per scoprire un core della CPU che esegue un particolare processo in Linux

  5. Come faccio a sapere quale versione di Linux sto utilizzando?

Come scoprire la versione del kernel Linux in esecuzione sul tuo PC

Come scoprire l'indirizzo IP pubblico dalla riga di comando su Linux

Come scoprire lo stato connesso di un cavo di rete in Linux

Come trovare l'indirizzo IP in Linux

Come trovare il nome host in Linux

Come scoprire a quali gruppi appartiene un utente in Linux