Linux CPU情報確認 /proc/cpuinfo

2017.4.5 (水)

サーバーのCPU情報は、/proc/cpuinfoで確認できます。だいたいの目安で数値自体はかなりいい加減らしいです。その上、何を書いているのかよくわかりません。見るところ3箇所程度。

#cat /proc/cpuinfoとか#vi /proc/cpuinfoとかで見ます。
項目 内容
processor 0
vendor_id GenuineIntel
cpu family 6
model 44
model name Intel(R) Xeon(R) CPU X5650 @ 2.67GHz
stepping 2
cpu MHz 2666.848
cache size 12288 KB
physical id 1
siblings 12
core id 0
cpu cores 6
apicid 32
fpu yes
fpu_exception yes
cpuid level 11
wp yes
flags 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 syscall nx pdpe1gb rdtscp lm constant_tsc ida nonstop_tsc arat pni monitor ds_cpl vmx smx | est tm2 ssse3 cx16 xtpr sse4_1 sse4_2 popcnt lahf_lm
bogomips 5333.69
clflush size 64
cache_alignment 64
address sizes 40 bits physical, 48 bits virtual
power management [8]
processor そのマシンに刺さっているプロセッサ(コア)の通し番号。最初が0番。
vendor_id そのプロセッサを開発したところ。Intelとか。
cpu family ファミリー?
model モデル番号。各メーカーによってIntelとかAMDとかの会社番号みたいな感じ。
model name プロセッサの名前。基本見るのここだけ。
stepping 同じプロセッサの中でもいろいろ世代や微妙な違いがあるらしくその識別番号。
cpu MHz プロセッサの動作周波数。実測値。2.67GHzというので私は問題なし。
cache size キャッシュサイズ。大きい方が性能がいいと私は個人的に思っている。
physical id 物理プロセッサID。この数値が同じプロセッサは、同じソケットに刺さっている。シングルコア・シングルプロセッサだったりするとそもそも項目自体が表示されない。
siblings そのコアが乗っかっている物理プロセッサに、いくつのコアが同居しているか?という数値。この数値も大きい方がいいと私は信じている。
core id 物理プロセッサ毎のコアの通し番号。
cpu cores わからない。siblingsの仲間らしい。
fdiv_bug | 初期のPentiumプロセッサで存在した浮動小数点演算のバグを持つかどうか。このバグのせいでいろいろあったらしい。バグなしの場合は項目もない。
hlt_bug わからん。
f00f_bug わからん。
coma_bug もう、わからん。
fpu 数値演算コプロセッサを搭載しているかどうか。386まではCPUとは別に「387」というオプションが無いとここがyesにならない。また、486でもSXだとオプションじゃなかったかな?と思う。それ以降は当たり前のように内蔵しているのでほとんどyesになるはず。(他の人のブログのコピペ)
fpu_exception 数値演算プロセッサが演算を終了した際、CPUに結果を通知するために割り込みを発生させることができるかどうか。
cpuid level CPUが持つ固有の情報をどのレベルまで読み出せるかというフラグ。このレベルによってCPUの個体番号が読めたりするらしい。
wp わからん。
bogomips ベンチマーク値。単位はMIPS。適当な数値らしい。でも時間は短い方がいい。
fpu 数値演算コプロセッサを内蔵している
vme 仮想86モード拡張が有効(386以降のプロセッサなら全部有効…なはず)
de デバッグモード拡張が有効(上に同じく)
pse ページサイズ拡張が有効。(メモリのページング処理にまつわる)
tsc タイムスタンプコントローラを内蔵している(プロセッサ内に内蔵されている64ビットカウンター)
msr CPUのインプリメントに依存する機能を制御するレジスタ群「Model Specific Register」が有効
pae 物理アドレス拡張が有効(IA32プロセッサで、この機能によって物理メモリのアドレス指定に使えるビット数が32ビットから36ビットに拡張される)
pse36 ページサイズ拡張が有効(peaと同じような事をページングテーブルでもやる)
mce プロセッサがエラーの発生をチェックしてOSにレポートする機能が有効。多分これが機能したとき、そのプロセッサについては「お前はもう、死んでいる…(ホア| タァッ!)」ということかと思われ。
mca 上に同じ
cx8 CMPXCHG8 instructionという物が有効らしい
apic 割り込みコントローラAPICが有効
sep Pentium2から実装された機能で、カーネルのシステムコールを高速で実行するためのロジックが有効…ということらしい。
mtrr キャッシュメモリの現状をプロセッサに通知するためのレジスタが有効
pge 仮想記憶にまつわる何か…らしいがよくわからん
cmov CMOV命令(Conditional MOV命令)が有効
pat x86ページングテーブルを拡張し、ページジングテーブルを修飾する情報を追加する機能が有効/td>
clflush CLFLUSH instructionという拡張命令が有効らしい
dts Debug Trace Store
acpi MSRを経由してのACPIが有効
mmx MMX命令(マルチメディア拡張命令)が有効
fxsr FXSAVE and FXRSTOR instructionsという物が有効らしい(スタックにレジスタをセーブ・リストアする挙動にかかわるそうだ)
sse マルチメディア拡張セットSSEが有効
sse2 マルチメディア拡張セットSSE-2が有効
ss CPU self snoopだそうですが、よくわかりません。
ht ハイパースレッディングが有効
tm プロセッサ内の温度センサーが有効
tm2 上に同じ
pbe よくわかりません。
nx プロセッサが備えるメモリ保護機構(Execute Disabled)が有効
lm ロングモード対応(x86_64)
constant_tsc よくわかりません。
pni よくわかりません。
monitor よくわかりません。
ds_cpl よくわかりません。
vmx システム仮想化支援機能が有効
est SpeedStepテクノロジに対応
cx16 CMPXCHG16B拡張命令に対応しているということらしい
xptr Send Task Priority Messages
lahf_lm ロングモードにおいて、LAHF命令、SAHF命令が有効
IA64 IA-64プロセッサである