3
/ proc / cpuinfoから物理コアを共有しているHTコアを見つける
「Xeon(R)CPU X5550 @ 2.67GHz」CPUを2つ搭載したコンピュータがあります。ハイパースレッディングが有効になっているため、16コアシステムのように見えますが、実際には物理コアは8つしかありません。 ハイパースレッディングを有効にすると、各物理コアが2つの仮想コアに分割されることを知っています。知りたいのですが、仮想コアのどのペアが物理コアを共有し、どのペアは共有していません。または、Linuxは実際のコアと比較してどのように(どの順序で)HTコアを列挙します。(列挙はマスクsched_setaffinityとtasksetマスクに対して行われます)。 /proc/cpuinfoシステムからのファイルのダンプがあります。 私は可能だと思います: CPU0〜CPU7はphyを共有していません。芯。CPU8〜CPU15も。しかし、共有はCPU0 + CPU8、CPU(i)+ CPU(i + 8)などのペアで行われます。 またはCPU0 + CPU1は、単一の物理CPU2 + CPU3、CPU(2 * i)+ CPU(2 * i + 1)からのものです。 またはエキゾチックなCPU0 + CPU15共有、CPU1 + CPU14 ... またはランダム? この場合の難しいのは、CPUの物理的なダイが2つ(2つのソケット)あり、「物理ID:」フィールドを使用するという通常の推奨方法では役に立たないということです。 cpuinfo: processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 26 model name : …