CentOS 6.9は次のCPUフラグを表示します/proc/cpuinfo
。
fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscallnx pdpe1gb rdtscp lmconstant_tsc uprep_goodunfair_spinq pqd sse4 _2 ic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand ハイパーバイザー lahf_lm abm 3dnowprefetch arat xsaveopt fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx
同じコンピュータにCentOS 7.5を再インストールしました。
fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscallnx pdpe1gb rdtscp lmconstant_tscrep_good nopl gingerfpu pqs sc _2 apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand ハイパーバイザー lahf_lm abm 3dnowprefetch fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap xsaveopt xsavec xgetbv1 arat
なぜ違うの?
答え1
少し異なるフラグを持つ最新のカーネル(多くのパッチを持つCentOS 7の場合は3.10、多くのパッチを持つCentOS 6の2.6.32)を実行しています。少し混乱しています/proc/cpuinfo
。ただCPU機能を示します。下痢であっても、特定のカーネルは作成時に存在していた機能についてのみ知ることができるため、最新のCPUで実行されている古いカーネルは、対応するCPUがサポートしている機能を見逃す可能性があります。これらの違いは、追加または削除されたカーネル機能、または古いカーネルが作成されたときには存在しませんでしたが、新しいカーネルで既知のCPU機能に対応しています。
次のフラグが「欠落している」。
up
(SMPコアはシングルプロセッサで起動します)unfair_spinlock
(不公正な半仮想化スピンロック)
そして、次のような結果を得ました。
nopl
(CPUサポートNOPL
ディレクティブ。これは2.6.27で追加された合成フラグです。CentOS 6カーネルに表示されない理由はわかりません。)eagerfpu
(非遅延FPUリカバリ、3.6に追加、4.8から削除)mpx
(メモリ保護拡張; 3.13から検出)smap
(管理者モードアクセス防止、3.6から検出)xsavec
(拡張ステータスフラグの1つ、3.15から検出されました)xgetbv1
(別の拡張ステータスフラグ、3.15から検出されました)
また、見ることができます/proc/cpuinfoのフラグはどういう意味ですか?