必要なことを行う簡単な方法を発見しました。
cat /sys/devices/system/cpu/cpu0/topology/thread_siblings_list
最初の数値が CPU 番号 (この例では 0) と等しい場合、それは実際のコアであり、そうでない場合はハイパースレッディング コアです。
実際の核となる例:
# cat /sys/devices/system/cpu/cpu1/topology/thread_siblings_list
1,13
ハイパースレッディング コアの例
# cat /sys/devices/system/cpu/cpu13/topology/thread_siblings_list
1,13
2 番目の例の出力は、最初の例とまったく同じです。ただし、 cpu13
をチェックしています 、最初の数字は 1
です 、つまり、CPU 13 これはハイパースレッディング コアです。
誰も lscpu
について言及していないことに驚いています まだ。 4 つの物理コアとハイパースレッディングが有効になっているシングル ソケット システムの例を次に示します。
$ 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
出力は、ID のテーブルを解釈する方法を説明しています。同じ Core ID を持つ論理 CPU ID は兄弟です。