GNU/Linux >> Linux の 問題 >  >> Linux

top が cpuinfo とは異なる数のコアを表示するのはなぜですか?

X5560 はシングル チップ .次のようになります:

grep "physical id" 1 つの物理プロセッサがインストールされていることを示しています。

上部のヒート スプレッダーを外すと、これが見えます - 単一の物理的なダイ (裏向き) :

そのサイコロを外してひっくり返すと、次のようになります:

その 1 つの物理ダイには、4 つの物理 CPU コアがあります。 シリコン上に構築:

grep "cpu cores" は、プロセッサに 4 つの物理コアが組み込まれていることを示しています。

各コアは、浮動小数点ユニット、多数の整数実行ユニット、レジスタ スタックのペア、および各シングル コアが一度に 2 つの独立した命令ストリーム (スレッド) を効果的に実行できるようにするその他の魔法を備えた単一のプロセッサです。

top は、コンピュータ上のすべてのプロセッサとコアがまとめて、一度に 8 つの独立したワークフローを実行できることを示しています。これは、オペレーティング システムが、いつでも実行するために 8 つの同時スレッドをスケジュールできることを示しています。


どのCPUを使用していますか?物理コアごとにいくつのスレッドが存在しますか?

cat /proc/cpuinfo top に対して物理コアの数を示します 存在するスレッドの総数を示します。

あなたのCPUには、物理​​コアごとに4つの物理コアと2つの論理コアがあると思います。 top です 8 を表示しています。

さらに /proc/cpuinfo の内容 実装に多少依存します。ルート化された Android シェルのように cpuinfo ファイルには用語 cpu cores が含まれていません .

ただし、cpuinfo では 各スレッドの名前は processor : X です 、ここで X はスレッドNo.したがって、最後のスレッド番号は top/htop と同じになります。 出力。

nproc --all の結果 top/htop とも一致する必要があります


top 論理 CPU ごとに 1 つの「CPU」を示します。 x86 では、これはシステム内のソケット数、ソケットあたりの物理コア数、コアあたりのスレッド数の積です。

cpu cores /proc/cpuinfo のエントリ 、再び x86 で、物理コアの数を示します。 top で使用される論理コアの数を調べるには 、あなたは siblings を見るべきです 代わりの値:

cat /proc/cpuinfo | grep "siblings" | uniq

これについては、カーネルのドキュメントで詳しく説明されています。

lscpu /proc/cpuinfo よりも理解しやすい、取り付けられている CPU に関する情報を提供します。 (または、同じ情報をより単純な方法で表示します)。


Linux
  1. PrintfがEchoよりも優れているのはなぜですか?

  2. Linux dm-multipath で Lun World Wide ID が数字の 3 で始まる理由

  3. 4.0 GiB が確実にあるのに、システムが 3.2 GiB の RAM しか表示しないのはなぜですか

  1. Find -mtime +1が2日より古いファイルのみを返すのはなぜですか?

  2. Linux – Linuxは、物理的にインストールしたメモリよりも多くのメモリと少ないメモリの両方を表示するのはなぜですか?

  3. タイムゾーンが異なるファイルで find -mtime が期待どおりに機能しないのはなぜですか?

  1. なぜ`は見つけるのですか。 -タイプF`は`find.`よりも時間がかかりますか?

  2. なぜ`exit&`が機能しないのですか?

  3. Ls-lがLs-sとは異なるサイズを出力するのはなぜですか?