cpuinfoにプロセッサが2つしか表示されないのはなぜですか? [コピー]

cpuinfoにプロセッサが2つしか表示されないのはなぜですか? [コピー]

次のコマンドを実行しています。

cat /proc/cpuinfo | /bin/egrep 'processor|model name|cache size|core|sibling|physical'

これにより、次の出力が提供されます。

processor   : 0
model name  : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
cache size  : 8192 KB
physical id : 0
siblings    : 8
core id     : 0
cpu cores   : 4
address sizes   : 40 bits physical, 48 bits virtual
processor   : 1
model name  : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
cache size  : 8192 KB
physical id : 0
siblings    : 8
core id     : 1
cpu cores   : 4
address sizes   : 40 bits physical, 48 bits virtual

htしたがって、cpuinfo出力全体のフラグと兄弟はCPUコアの2倍であるため、ハイパースレッディングがオンになっていることがわかります。

これは、HTが有効になっている物理クアッドコアプロセッサのみがあり、それが違うという意味ですか?

なぜプロセッサレコードが2つ(コアID 0と1)しかリストされていないのかわかりません。コア2とコア3の別の2つのレコードが必要ですか?

*注:lscpuを実行すると、「CPU数を確認できません」というエラーが発生します。

答え1

上記の出力でcat /proc/cpuinfo次の情報を見ることができます。

physical id : 0
siblings    : 8
core id     : 0
cpu cores   : 4

これを見てください。インテルプロセッサの仕様ページには、プロセッサに4つのコアがあることがはっきりと示されています。だからcpuinfoそうです。

また、ピア数が8個、CPUコア数が4個であることがわかります。 CPU コア数 4 はプロセッサのコアの総数です。

ほとんどの新しいプロセッサは、電力とバッテリーを節約するように設計されています。つまり、すべてのコアを同時に実行する必要はありません。の内容は/proc/cpuinfo実装によって多少異なり、誤解を招くのでハードウェア情報を正しく報告する必要はありません。実際、/proc/cpuinfoこれはLinuxにあるハードウェアに関する完全な情報を得ることができる数少ない場所の1つです。

正確な CPU 数を計算するには、[nproc][1]coreutils のコマンドを使用します。このコマンドは、現在のプロセスで使用可能な処理装置の数を印刷します。

インストールされているすべてのコア/プロセッサーの数を見つけるには、次のコマンドを実行します。nproc次のように:

nproc --all
--all  print the number of installed processors

/proc/cpuinfoプロセッサ数の詳細については、次を参照してください。ここ

関連情報