cat / proc / cpuinfoの出力の解釈


22

Linuxで次のコマンドによって出力される情報をどのように解釈しますか

cat /proc/cpuinfo

私のラップトップでは、次の出力が得られます。

[gaurish108:〜] $ cat / proc / cpuinfo(02-09 15:34)
プロセッサー:0
vendor_id:GenuineIntel
CPUファミリ:6
モデル:37
モデル名:Intel(R)Core(TM)i3 CPU M 330 @ 2.13GHz
ステッピング:2
CPU MHz:933.000
キャッシュサイズ:3072 KB
物理ID:0
兄弟:4
コアID:0
CPUコア:2
アピシド:0
初期アピシド:0
fdiv_bug:いいえ
hlt_bug:いいえ
f00f_bug:いいえ
coma_bug:いいえ
fpu:はい
fpu_exception:はい
cpuidレベル:11
wp:はい
フラグ:fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon dpr cx dmt pc dper ptc aperc npts npertc nperc pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid
bogomips:4256.49
clflushサイズ:64
cache_alignment:64
アドレスサイズ:物理36ビット、仮想48ビット
パワー管理:

プロセッサー:1
vendor_id:GenuineIntel
CPUファミリ:6
モデル:37
モデル名:Intel(R)Core(TM)i3 CPU M 330 @ 2.13GHz
ステッピング:2
CPU MHz:933.000
キャッシュサイズ:3072 KB
物理ID:0
兄弟:4
コアID:0
CPUコア:2
アピシド:1
初期アピシド:1
fdiv_bug:いいえ
hlt_bug:いいえ
f00f_bug:いいえ
coma_bug:いいえ
fpu:はい
fpu_exception:はい
cpuidレベル:11
wp:はい
フラグ:fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon dpr cx dmt pc dper ptc aperc npts npertc nperc pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid
bogomips:4256.40
clflushサイズ:64
cache_alignment:64
アドレスサイズ:物理36ビット、仮想48ビット
パワー管理:

プロセッサー:2
vendor_id:GenuineIntel
CPUファミリ:6
モデル:37
モデル名:Intel(R)Core(TM)i3 CPU M 330 @ 2.13GHz
ステッピング:2
CPU MHz:933.000
キャッシュサイズ:3072 KB
物理ID:0
兄弟:4
コアID:2
CPUコア:2
アピシド:4
初期アピシド:4
fdiv_bug:いいえ
hlt_bug:いいえ
f00f_bug:いいえ
coma_bug:いいえ
fpu:はい
fpu_exception:はい
cpuidレベル:11
wp:はい
フラグ:fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon dpr cx dmt pc dper ptc aperc npts npertc nperc pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid
bogomips:4256.43
clflushサイズ:64
cache_alignment:64
アドレスサイズ:物理36ビット、仮想48ビット
パワー管理:

プロセッサー:3
vendor_id:GenuineIntel
CPUファミリ:6
モデル:37
モデル名:Intel(R)Core(TM)i3 CPU M 330 @ 2.13GHz
ステッピング:2
CPU MHz:933.000
キャッシュサイズ:3072 KB
物理ID:0
兄弟:4
コアID:2
CPUコア:2
アピシド:5
初期アピシド:5
fdiv_bug:いいえ
hlt_bug:いいえ
f00f_bug:いいえ
coma_bug:いいえ
fpu:はい
fpu_exception:はい
cpuidレベル:11
wp:はい
フラグ:fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon dpr cx dmt pc dper ptc aperc npts npertc nperc pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid
bogomips:4256.42
clflushサイズ:64
cache_alignment:64
アドレスサイズ:物理36ビット、仮想48ビット
パワー管理:

現在、システムには4つのプロセッサが搭載されています。各プロセッサフ​​ィールドの情報内には、couコアが2であるというフィールドもあります。

それは私のシステムに4つのIntel i3のCPUがあるということですか?ここでプロセッサ分野とはどういう意味ですか?

回答:


17

エントリは論理プロセッサです。カーネルによって内部的に使用されるオブジェクト。必ずしも物理デバイスに関連付けられているわけではありません。(すべて同じであることに注意してくださいphysical id。)

つまり、単一のIntel i3 CPUの4つのコアを表します。

また、この投稿で述べたように(正確には重複していませんが、密接に関連しています)、これらのコアも論理的です。CPUは物理的に2つのコアを持ちますが、ハイパースレッディングをサポートします。

一部のIntelプロセッサー(i5を含む)は、ハイパースレッディングを使用します。単一のプロセッサーには(たとえば)2つの物理コアがありますが、4つの論理コアを提供するシステムです。します。


システムにlscpuツール(最近のutil-linuxの一部)がある場合、インストールされたCPUのより人間が読める要約が出力されます。例えば:

Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1

物理アドレスのサイズは長いほど良いですか、短いほど良いですか?
銭チェン

@ElgsQianChen:通常、長いほど良い。世界が8ビットCPUから16ビットから32ビット、そして64ビットCPUにどのように移行したかをご覧ください。そのビット数が「アドレスサイズ」です。
grawity

36ビット、40ビット、46ビットなど、さまざまな物理サイズが表示されているようです。仮想サイズは常に48ビットのようです。それでは、なぜ物理的なサイズが異なるのでしょうか?また、それらがより短いまたはより長い場合、それらはどういう意味ですか?
銭チェン

9

以下に、関連するデータをきれいに印刷して抽出するためのインラインawkスクリプトを示します/proc/cpuinfo

cat /proc/cpuinfo | \
awk -v FS=':' '                                       \
  /^physical id/ { if(nb_cpu<$2)  { nb_cpu=$2 } }     \
  /^cpu cores/   { if(nb_cores<$2){ nb_cores=$2 } }   \
  /^processor/   { if(nb_units<$2){ nb_units=$2 } }   \
  /^model name/  { model=$2 }                         \
                                                      \
  END{                                                \
   nb_cpu=(nb_cpu+1);                                 \
   nb_units=(nb_units+1);                             \
                                                      \
   print "CPU model:",model;                          \
   print nb_cpu,"CPU,",nb_cores,"physical cores per CPU, total",nb_units,"logical CPU units" \
 }'

高性能サーバーの出力:

CPU model:  Intel(R) Xeon(R) CPU           X5650  @ 2.67GHz
2 CPU,  6 physical cores per CPU, total 24 logical CPU units

Core i5ラップトップの出力:

CPU model:  Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
1 CPU,  2 physical cores per CPU, total 4 logical CPU units

0

それは単に意味します:

  1. あなたは実際にあなたのシステムに1つのクアッドコアi3はCPUを持っています。

  2. この「1つのクアッドコアi3 CPU」には、4つの論理コアが含まれています。


2
実際には、4つの論理コアを備えたデュアルコアi3 CPUです。
デビッドシュワルツ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.