GNU/Linux >> Znalost Linux >  >> Linux

Linux zjistí Hyper-threaded core id

Objevil jsem jednoduchý trik, jak udělat to, co potřebuji.

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

Pokud se první číslo rovná číslu CPU (v tomto příkladu 0), pak se jedná o skutečné jádro, pokud ne, jedná se o jádro s hyperthreadingem.

Skutečný základní příklad:

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

Příklad jádra Hyperthreading

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

Výstup druhého příkladu je úplně stejný jako ten první. Nicméně kontrolujeme cpu13 a první číslo je 1 , takže CPU 13 je jádro s hyperthreadingem.


Překvapuje mě, že nikdo nezmínil lscpu dosud. Zde je příklad systému s jednou paticí se čtyřmi fyzickými jádry a povoleným hyper-threadingem:

$ 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

Výstup vysvětluje, jak interpretovat tabulku ID; logická ID CPU se stejným Core ID jsou sourozenci.


Linux
  1. 4 způsoby, jak zjistit jádro CPU, na kterém běží konkrétní proces v Linuxu

  2. Linux – Jak zjistit jmenný prostor konkrétního procesu?

  3. Zjistěte osiřelé procesy Linuxu

  1. Jak zjistit seznam všech otevřených portů v Linuxu

  2. najdete příklady příkazů v Linuxu

  3. Jak zjistit typ virtualizace linuxového VPS?

  1. Jakou verzi Linuxu používám? Zde je návod, jak to zjistit

  2. Jak zjistit, co dělá příkaz Linuxu

  3. Příkazy hledání pro Linux