web-dev-qa-db-ja.com

cat / proc / cpuinfoの出力の解釈

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

cat /proc/cpuinfo

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

 [gaurish108:〜] $ cat/proc/cpuinfo(02-09 15:34)
 processor:0 
 vendor_id:GenuineIntel 
 cpu family: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 
 apicid:0 
最初のapicid: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 pebs bts xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid 
 bogomips:4256.49 
 clflush size:64 
 cache_alignment:64 [。物理ビット、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 
初期のapicid:1 
 fdiv_bug:no 
 hlt_bug:no 
 f00f_bug:no 
 coma_bug:no 
 fpu:yes 
 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 t m pbe nx rdtscp lm constant_tsc Arch_perfmon pebs bts xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2.fcm.fid_ppt.prf.vd.prp.vd.prp.vd.prp.vd.prp.vd.prp.vd.prf.orp.dp.ptr.pd.pri_dpt.prp.dpt 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 
 apicid:4 
最初のapicid:4 
 fdiv_bug:no 
 hlt_bug:no 
 f00f_bug:no 
 coma_bug:いいえ
 fpu:はい
 fpu_exception:はい
 cpuidレベル:11 
 wp:はい
フラグ:FPU VMEデPSE TSC MSR PAE MCE CX8 APIC 9月MTRR PGE MCAは、PAT CMOV PSE36 CLFLUSH DTS ACPI MMX fxsr SSE SSE2 SS HT TM PBE NX rdtscp LM CONSTANT_TSC Arch_perfmon PEBS BTS xtopology NONSTOP_TSC aperfmperf PNI dtes64監視ds_cpl VMX EST TM2 SSSE3 cx16 xtpr PDCM sse4_1 sse4_2 popcnt lahf_lm arat dts tpr_shadow vnmi flexpriority ept vpid 
 bogomips:4256.43 
 clflush size:64 
 cache_alignment:64 
 address size:36 bits physical、48 bits virtual 
 power management:
 
 processor:3 
 vendor_id:GenuineIntel 
 cpu family:6 
 model:37 
モデル名:Intel(R)Core(TM)i3 CPU M 330 @ 2.13 GHz 
ステッピング:2 
 cpu MHz:933.000 
キャッシュサイズ:3072 KB 
物理ID:0 
兄弟:4 
コアID:2 
 CPUコア:2 
アピシッド:5 
初期アピシッド:5 
 fdiv_bug:いいえ
 hlt_bug:いいえ
 f00f_bug:いいえ
 coma_バグ:いいえ
 fpu:はい
 fpu_exception:はい
 cpuidレベル:11 
 wp:はい
フラグ:fpu vme de pse tsc msr pae MCE CX8 APIC 9月MTRR PGEのMCA CMOVパットPSE36 CLFLUSH DTS ACPI MMX fxsr SSE、SSE2 SS HT TM PBE NX rdtscp LM CONSTANT_TSC Arch_perfmon PEBS BTS xtopology NONSTOP_TSC aperfmperf PNI dtes64監視ds_cpl VMX EST TM2 SSSE3 cx16 xtpr 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つのプロセッサがあると表示されています。また、コアコアが2であると言う、各プロセッサフ​​ィールドの情報内のフィールドもあります。

私のシステムには4つのIntel i3 CPUがあるということですか?ここでプロセッサフ​​ィールドとはどういう意味ですか?

22
smilingbuddha

エントリはlogicalプロセッサです。カーネルが内部で使用するオブジェクトで、必ずしも物理デバイスに関連付けられているとは限りません。 (すべて同じphysical id。)

つまり、1つの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
17
user1686

以下は、/proc/cpuinfoから関連データをきれいに出力および抽出するインラインawkスクリプトです。

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
9

それは単に意味します:

  1. あなた実際にシステムに1つのクアッドコアi3 CPUがあります。

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

0
SP Sandhu