Linuxシステムでvcore数を計算する方法

Linuxシステムでvcore数を計算する方法

私のLinuxコンピュータには32のvcoreがあります。

でもlscpu同じ状況を見ることができます。

私のCPUの場合、「コアあたりのスレッド」は2です。

それでは、実際に64のvcoreがあるという意味ですか?

答え1

lscpu出力の「CPU(s)」行は、総論理CPU(スレッドとも呼ばれる)の数を提供します。 VM内で実行されている場合VMに割り当てられている仮想コアの数(この場合は32)。

提供される追加情報はlscpuより詳細な情報を提供し、最終的には論理CPU数(コアあたりのスレッド×ソケットあたりのコア×ソケット)と一致する必要があります。ホストの物理CPU特性は、VMの仮想CPU特性に大きな影響を与えず、大きな影響を与えません。次へ追加割り当て - ホストCPUにコアあたり2つのスレッドがある場合、仮想マシン内で割り当てられたコアの数は増加しません。

答え2

Linux システムに 32 個の CPU コアを割り当て、コアごとに 2 つのスレッドがある場合、スレッドは 64 個ですが、コアは 64 個ではありません。

一般に、1つのコアは一度にスレッドのみを実行できますが、現在、ほとんどのCPUは、CPUが現在のスレッドパイプラインのアイドルフェーズを見つけて別のコアを処理してより良いマルチプロセッシングを定義するハイパースレッディングの概念をサポートします。

ただし、Linux マシンが仮想の場合、仮想マシンはマシンのコアではなく論理スレッドを表示します。

関連情報