自分のプロセッサに特定の機能があるかどうかを確認するにはどうすればよいですか? (64ビット命令セット、ハードウェア支援仮想化、暗号化アクセラレータなど)ファイル/proc/cpuinfo
にはこの情報がflags
行に含まれていますが、これらすべての不可解な略語は何を意味しているのですか?
たとえば、次の/proc/cpuinfo
、64ビットCPUはありますか?ハードウェア仮想化はありますか?
model name : Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
…
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 pbe syscall nx lm constant_tsc Arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority
(32ビットa.k.a. i386–i686および64ビットa.k.a. AMD64。つまり、ワークステーション、ラップトップ、またはサーバー。)
lm
vmx
(Intel)、svm
(AMD)aes
smx
hypervisor
他のほとんどの機能は、コンパイラまたはカーネルの作成者のみが関心を持っています。
完全なリストは、カーネルソースのファイル Arch/x86/include/asm/cpufeatures.h
にあります。
Wikipedia および Intel Advanced Vector Extensions Programming Referenceの表2-27も参照してください
fpu
:オンボード [〜#〜] fpu [〜#〜] (浮動小数点サポート)vme
: 仮想8086モードの機能強化de
:デバッグ拡張機能( CR4.DE )pse
: ページサイズ拡張 (4MB メモリページ )tsc
: Time Stamp Counter (RDTSC)msr
: モデル固有のレジスタ (RDMSR、WRMSR)pae
: 物理アドレス拡張 (4GB以上のRAMのサポート)mce
: Machine Check Exceptioncx8
: CMPXCHG8命令 (64ビット 比較およびスワップ )apic
:オンボード [〜#〜] apic [〜#〜]sep
: [〜#〜] sysenter [〜#〜] / [〜#〜] sysexit [〜#〜]mtrr
: メモリタイプ範囲レジスタpge
: Page Global Enable (PDEおよびPTEのグローバルビット)mca
: Machine Check Architecturecmov
: CMOV命令 (条件付き移動)(また [〜#〜] fcmov [〜#〜] )pat
: ページ属性テーブルpse36
: 6ビットPSE (巨大なページ)pn
: Processor serial numberclflush
: Cache Line Flush 命令dts
:デバッグストア(デバッグおよびプロファイリングの命令用のバッファー)acpi
: [〜#〜] acpi [〜#〜] MSR経由(温度監視とクロック速度変調)mmx
: Multimedia Extensionsfxsr
:FXSAVE/FXRSTOR、 CR4.OSFXSRsse
:Intel [〜#〜] sse [〜#〜] ベクトル命令sse2
: SSE2ss
:CPUセルフ snoopht
: Hyper-Threading および/またはマルチコアtm
:自動クロック制御(熱モニター)ia64
: Intel Itanium Architecture 64ビット(フラグx86-64
または "AMD64"ビットがフラグlm
で示されるIntelの64ビットx86アーキテクチャと混同しないでください)pbe
: Pending Break Enable (PBE#pin)wakeup supportWikipedia および Intel Advanced Vector Extensions Programming Referenceの表2-23も参照してください
syscall
: [〜#〜] syscall [〜#〜] (高速システムコール)および [〜#〜] sysret [〜#〜] (高速システムコールから戻る)mp
: Multiprocessing 対応。nx
: 実行無効mmxext
: AMD MMX拡張機能fxsr_opt
:FXSAVE/FXRSTOR最適化pdpe1gb
:1 GB ページ (hugepagesz=1G
を許可)rdtscp
: タイムスタンプカウンターとプロセッサIDを読み取るlm
: Long Mode ( x86-64 :AMD64、Intel 64とも呼ばれる、つまり64ビット対応)3dnowext
:AMD 3DNow!拡張3dnow
: DNow! (AMDベクトル命令、インテルのSSE1と競合)recovery
:リカバリーモードのCPUlongrun
:ロングラン電力制御lrti
:LongRunテーブルインターフェイスcxmmx
:Cyrix MMX拡張機能k6_mtrr
:AMD K6非標準MTRRcyrix_arr
:Cyrix ARR(= MTRR)centaur_mcr
:ケンタウロスMCR(= MTRR)constant_tsc
:TSCティックは一定のレートでup
:UPで実行されているSMPカーネルart
:常時実行タイマーArch_perfmon
:Intel Architectural PerfMonpebs
:正確なイベントベースのサンプリングbts
:ブランチトレースストアrep_good
:担当者のマイクロコードが適切に機能しますacc_power
: AMD累積電力メカニズムnopl
:NOPL(0F 1F)命令xtopology
:CPUトポロジ列挙型拡張tsc_reliable
: [〜#〜] tsc [〜#〜] は信頼できることがわかっていますnonstop_tsc
: [〜#〜] tsc [〜#〜] がC状態で停止しないcpuid
:CPUにはCPUID命令自体がありますextd_apicid
:拡張APICID(8ビット)AMD_dcm
:マルチノードプロセッサaperfmperf
:APERFMPERFeagerfpu
:遅延のないFPU復元nonstop_tsc_s3
: [〜#〜] tsc [〜#〜] がS3状態で停止しないtsc_known_freq
: [〜#〜] tsc [〜#〜] には既知の頻度がありますmce_recovery
:CPUには回復可能なマシンチェックがありますWikipedia および Intel Advanced Vector Extensions Programming Referenceの表2-26も参照してください
pni
: SSE- (「 Prescott 新しい指示」)pclmulqdq
: クワッドワードのキャリーレス乗算を実行命令 — [〜#〜] gcm [〜#〜] のアクセラレータdtes64
:64ビットのデバッグストアmonitor
:モニター/ Mwaitサポート( Intel SSE3補足 )ds_cpl
:CPL Qual。デバッグストアvmx
:ハードウェア仮想化:Intel [〜#〜] vmx [〜#〜]smx
:安全モード: [〜#〜] txt [〜#〜] ( [〜#〜] tpm [〜#〜] サポート)est
:拡張 SpeedSteptm2
: Thermal Monitor 2ssse3
: 補足SSE-cid
:コンテキストIDsdbg
:シリコンデバッグfma
: 融合型積和演算cx16
: CMPXCHG16Bxtpr
:タスク優先度メッセージを送信pdcm
:パフォーマンス機能pcid
:プロセスコンテキスト識別子dca
:直接キャッシュアクセスsse4_1
: SSE-4.1sse4_2
: SSE-4.2x2apic
: x2APICmovbe
: バイトのスワップ後にデータを移動 命令popcnt
: 1に設定されたビット数のカウントを返す命令 ( ハミング重み 、つまりビットカウント)tsc_deadline_timer
:Tsc期限タイマーaes
/aes-ni
: Advanced Encryption Standard(New Instructions)xsave
: Save Processor Extended States : [〜#〜] xgetby [〜#〜] 、 [〜#〜] xrstor [〜#〜] も提供します、 [〜#〜] xsetby [〜#〜]avx
: Advanced Vector Extensionsf16c
:16ビットfp変換( CVT16 )rdrand
: 乱数の読み取り ハードウェア乱数発生器から 命令hypervisor
: hypervisor で実行中rng
: Random Number Generator present(xstore)rng_en
: Random Number Generator 有効ace
:CPU暗号化(xcrypt)ace_en
:CPU暗号化が有効ace2
:高度な暗号化エンジンv2ace2_en
:ACE v2が有効phe
:PadLockハッシュエンジンphe_en
:PHEが有効pmm
:PadLock Montgomery Multiplierpmm_en
:PMMが有効lahf_lm
:ロングモードでフラグからのAHの読み込み(LAHF)とフラグへのAHの格納(SAHF)cmp_legacy
:はいの場合、ハイパースレッディングは無効ですsvm
:「安全な仮想マシン」: AMD-Vextapic
:拡張APICスペースcr8_legacy
:32ビットモードのCR8abm
: Advanced Bit Manipulationsse4a
: SSE-4Amisalignsse
:一部のレガシーSSE命令がアラインされていないデータを操作するときに一般保護例外(#GP)が生成されるかどうかを示します。CR0およびアラインメントチェックビットにも依存します3dnowprefetch
:3DNowプリフェッチ命令osvw
:は OS Visible Workaround を示します。これにより、OSはプロセッサーのエラッタを回避できます。ibs
: 命令ベースのサンプリングxop
: 拡張AVX命令skinit
:SKINIT/STGI命令wdt
: ウォッチドッグタイマーlwp
: 軽量プロファイリングfma4
: 4オペランドMAC命令tce
:翻訳キャッシュ拡張nodeid_msr
:ノードID MSRtbm
: 後続ビット操作topoext
:トポロジー拡張CPUIDリーフperfctr_core
:コアパフォーマンスカウンター拡張perfctr_nb
:NBパフォーマンスカウンター拡張bpext
:データブレークポイント拡張ptsc
:パフォーマンスタイムスタンプカウンターperfctr_l2
:L2パフォーマンスカウンター拡張mwaitx
:MWAIT
拡張(MONITORX
/MWAITX
)ring3mwait
:Ring 3 MONITOR/MWAITcpuid_fault
:Intel CPUIDエラーcpb
:AMD Core Performance Boostepb
:IA32_ENERGY_PERF_BIASのサポートcat_l3
:キャッシュ割り当てテクノロジーL3cat_l2
:キャッシュ割り当てテクノロジーL2cdp_l3
:コードとデータの優先順位付けL3invpcid_single
:効果的にinvpcid
およびCR4.PCIDE=1
hw_pstate
:AMD HW-PStateproc_feedback
:AMD ProcFeedbackInterfacesme
:AMD Secure Memory Encryptionpti
: カーネルページテーブルの分離 (Kaiser)retpoline
: Retpoline 緩和策 Spectre バリアント2(間接分岐)retpoline_AMD
:AMD Retpolineによる緩和intel_ppin
:インテルプロセッサーインベントリー番号avx512_4vnniw
:AVX-512ニューラルネットワーク命令avx512_4fmaps
:AVX-512乗算累積単精度mba
:メモリ帯域幅の割り当てrsb_ctxsw
:コンテキストスイッチのRSBを埋めるtpr_shadow
:Intel TPRシャドウvnmi
:Intel Virtual NMIflexpriority
:Intel FlexPriorityept
:Intel拡張ページテーブルvpid
:インテル仮想プロセッサーIDvmmcall
:VMMCALL
よりVMCALL
を優先fsgsbase
:{RD/WR} {FS/GS} BASE命令tsc_adjust
:TSC調整MSRbmi1
:最初のグループビット操作拡張hle
: Hardware Lock Elisionavx2
: AVX2命令smep
:スーパーバイザーモード実行保護bmi2
:2番目のグループビット操作拡張erms
:拡張REP MOVSB/STOSBinvpcid
:プロセッサコンテキストIDを無効化rtm
:制限付きトランザクションメモリcqm
:キャッシュQoSモニタリングmpx
:メモリ保護拡張機能rdt_a
:リソースディレクターのテクノロジー割り当てavx512f
: AVX-512 Foundationavx512dq
: AVX-512ダブル/クワッド命令rdseed
:RDSEED命令adx
:ADCXおよびADOX命令smap
:スーパーバイザーモードアクセス防止clflushopt
:CLFLUSHOPT
命令clwb
:CLWB
命令intel_pt
: Intelプロセッサトレースavx512pf
: AVX-512プリフェッチavx512er
: AVX-512指数および逆数avx512cd
: AVX-512競合検出sha_ni
:SHA1/SHA256命令拡張avx512bw
: AVX-512 Byte/Word命令avx512vl
:AVX-512 128/256ベクトル長拡張xsaveopt
:最適化されたXSAVE
xsavec
:XSAVEC
xgetbv1
:ECX = 1のXGETBV
xsaves
:XSAVES
/XRSTORS
cqm_llc
:LLC QoScqm_occup_llc
:LLC占有監視cqm_mbm_total
:LLCの合計MBM監視cqm_mbm_local
:LLCローカルMBMモニタリングclzero
:CLZERO
命令irperf
:廃止された命令のパフォーマンスカウンターxsaveerptr
:常に保存/復元FPエラーポインタdtherm
(以前のdts
):デジタル温度センサーida
:Intel Dynamic Accelerationarat
:常に実行中のAPICタイマーpln
:Intel Power Limit Notificationpts
:インテルパッケージの温度ステータスhwp
:Intel Hardware P-stateshwp_notify
:HWP通知hwp_act_window
:HWPアクティビティウィンドウhwp_epp
:HWPエネルギーパフォーマンス設定hwp_pkg_req
:HWPパッケージレベルのリクエストnpt
:AMD Nested Page Table supportlbrv
:AMD LBR仮想化サポートsvm_lock
:AMD SVMロックMSRnrip_save
:AMD SVM next_rip savetsc_scale
:AMD TSCスケーリングサポートvmcb_clean
:AMD VMCBクリーンビットサポートflushbyasid
:AMD flush-by-ASIDサポートdecodeassists
:AMDデコードアシストのサポートpausefilter
:AMDフィルターによる一時停止代行受信pfthreshold
:AMD一時停止フィルターしきい値avic
:仮想割り込みコントローラーvmsave_vmload
:仮想VMSAVE VMLOADvgif
:仮想GIFavx512vbmi
:AVX512ベクトルビット操作命令umip
:ユーザーモードの命令保護pku
:ユーザースペースの保護キーospke
:OS保護キーの有効化avx512_vbmi2
:追加のAVX512ベクトルビット操作命令gfni
:ガロア体の新しい命令vaes
:Vector AESvpclmulqdq
:キャリーレス乗算ダブルクワッドワードavx512_vnni
:Vector Neural Network Instructionsavx512_bitalg
:VPOPCNT [B、W]およびVPSHUF-BITQMB命令avx512_vpopcntdq
:DW/QWのベクトルのPOPCNTla57
:5レベルのページテーブルrdpid
:RDPID命令overflow_recov
:MCAオーバーフロー回復サポートsuccor
:修正不可能なエラーの封じ込めと復旧smca
:スケーラブルMCAf00f
: Intel F00Ffdiv
: CPU FDIVcoma
: Cyrix 6x86コマAMD_tlb_mmatch
:tlb_mmatch
AMD Erratum 383AMD_apic_c1e
:apic_c1e
AMD Erratum 40011ap
:悪いローカルAPIC(別名11AP)fxsave_leak
:FXSAVEがFOP/FIP/FOPをリークするclflush_monitor
:MONITORの前にAAI65、CLFLUSHが必要sysret_ss_attrs
:SYSRETはSS属性を修正しませんespfix
: "" 16ビットSSへのIRETはESP/RSP上位ビットを破壊しますnull_seg
:セレクターをnullにするとベースが保持されますswapgs_fence
:GSで入力依存なしのSWAPGSmonitor
:リモートCPUを起動するために必要なIPIAMD_e400
:CPUはErratum 400の影響を受けますcpu_meltdown
:CPUは メルトダウン攻撃 の影響を受け、カーネルページテーブルの分離が必要ですspectre_v1
:CPUは条件付きブランチによる Spectre バリアント1攻撃の影響を受けますspectre_v2
:CPUは、間接分岐による Spectre バリアント2攻撃の影響を受けますspec_store_bypass
:CPUは Speculative Store Bypass の脆弱性の影響を受けます(Spectreバリアント4)。追伸このリストは、カーネルソースのArch/x86/include/asm/cpufeatures.h
に基づいています。フラグは、ソースコードと同じ順序でリストされます。不足している機能の説明へのリンクを追加したり、表現力のない名前を持つ機能の簡単な説明を書き込んだり、新しいカーネルバージョンのリストを更新したりしてください。現在のリストは Linux 4.15 にいくつかの追加を加えたものです。
ARM=プロセッサでは、いくつかの機能が_features:
_行に記載されています。ARMアーキテクチャに直接関連する機能のみが記載されており、機能は記載されていませんシリコンメーカーまたはシステムオンチップに固有。
機能は、CPU IDを read_cpuid()
で検索し、機能が表現されるコンパイル時に既知の プロセッサタイプ定義 で検索することで取得されます。 _HWCAP_xxx
_ フラグのマスクとして。対応する文字列は _hwcap_str
_などの_setup.c
_ にあります。
以下のリストで、ARMv6はSIMD命令とデータ型を導入しました。 ARMv7はAdvanced SIMD命令とデータ型を提供しました。 32ビットARM=マシンでは、neon
はAdvanced SIMDを示し、asimd
は64ビットARMマシン上のAdvanced SIMDを示します。
swp
: SWP
instruction ( atomic read-modify-write )half
: 半角の読み込みと保存thumb
: Thumb (16ビット命令セット)26bit
_: "26ビット"モデル (プログラムカウンターに組み込まれたプロセッサステータスレジスタ)fastmult
: 2×32→64ビットの乗算fpa
: 浮動小数点アクセラレータvfp
: [〜#〜] vfp [〜#〜] (早期 [〜#〜] simd [〜#〜] ベクトル浮動小数点命令)edsp
: DSP extensions (ARM9 CPUの「e」バリアント、およびその他すべて)Java
: Jazelle (Javaバイトコードアクセラレータ)iwmmxt
: [〜#〜] simd [〜#〜] 指示 Intel MMXと同様crunch
: MaverickCrunch コプロセッサー(カーネルサポートが有効な場合)thumbee
: ThumbEEneon
: Advanced SIMD/NEON (AArch64古いカーネルではasimd
)vfpv3
_:VFPバージョン3vfpv3d16
_: 16個のDレジスタを持つVFPバージョンtls
: [〜#〜] tls [〜#〜] レジスタvfpv4
_:高速コンテキスト切り替えを備えたVFPバージョン4idiva
:SDIV
およびUDIV
ハードウェア部門ARMモードidivt
:ThumbモードのSDIV
およびUDIV
ハードウェア部門vfpd32
_: 2個のDレジスタを持つVFPlpae
: Large Physical Address Extension (> 4GB物理メモリ、32ビットアーキテクチャ)evtstrm
:汎用のタイマーを使用したカーネルイベントストリームaes
:ハードウェアアクセラレーション [〜#〜] aes [〜#〜] (秘密鍵暗号)pmull{2}
_: 64×64→128ビットF2メートル 乗算 — GCMモードの認証済み暗号化の高速化sha1
_:ハードウェアアクセラレーション SHA-1sha2
_:ハードウェアアクセラレーション SHA-256crc32
_:ハードウェアアクセラレーション CRC-32さらに、_Hardware:
_行はプロセッサモデルを示します。モデルによっては、_/proc
_または_/sys
_の下の他のファイル、またはブート時のカーネルログメッセージに他の情報がある場合があります。残念ながら、各ARM CPUメーカーは、プロセッサの機能を報告する独自の方法を持っています(ある場合)。
4.1.3 x86とIntelのマニュアルでご確認ください
_Arch/x86/include/asm/cpufeature.h
_ 完全なリストが含まれます。
定義値のタイプは次のとおりです。
_X*32 + Y
_
例えば。:
_#define X86_FEATURE_FPU ( 0*32+ 0) /* Onboard FPU */
_
CPUIDから抽出された機能フラグは、以下の中に保存されます。
__u32 x86_capability[NCAPINTS + NBUGINTS];
_フィールドstruct cpuinfo_x86 boot_cpu_data
_x86/kernel/setup.c
_で定義___init
_関数によって初期化されます。
各_x86_capability
_配列要素は次の場所から取得されます。
_| index | eax | ecx | output | file |
|-------|----------|-----|--------|-------------|
| 0 | 1 | 0 | edx | common.c |
| 1 | 80000001 | | edx | common.c |
| 2 | 80860001 | | edx | transmeta.c |
| 3 | | | | |
| 4 | 1 | 0 | ecx | common.c |
| 5 | C0000001 | | edx | centaur.c |
| 6 | 80000001 | | ecx | common.c |
| 7 | | | | scattered.c |
| 8 | | | | |
| 9 | 7 | 0 | ebx | common.c |
| 10 | D | 1 | eax | common.c |
| 11 | F | 0 | edx | common.c |
| 12 | F | 1 | edx | common.c |
_
ノート:
index
:は_x86_capability
_のインデックスです。 _x86_capability[0]
_eax
およびexc
:は、CPUIDの入力値(16進数)です。少ないexc
を使用する入力は、subleafと呼ばれます(ルートにeax
がある2レベルのツリーの)。output
:CPUID出力が取得されるレジスターfile
:これらのフィールドが定義されているファイルです。パスは_Arch/x86/kernel/cpu/
_を基準にしています。transmeta
:CPUベンダーの名前でした https://en.wikipedia.org/wiki/Transmeta Novaforaによって取得されました https://www.crunchbase.com/organization/ novaforacentaur
:はCPUベンダーの名前でした https://en.wikipedia.org/wiki/Centaur_Technology VIA https:/ /en.wikipedia.org/wiki/VIA_Technologies 。Cyrixももう1つです。結論:
ほとんどのエントリはCPUID出力レジスタから直接取得され、次のようなものによって_common.c
_に設定されます。
_c->x86_capability[0] = edx;
_
これらは、CPUIDに関するIntelのマニュアルで簡単に見つけることができます。
その他はソース全体に散在し、_set_cpu_cap
_で少しずつ設定されます。
それらを見つけるには、_git grep X86_FEATURE_XXX
_内で_Arch/x86
_を使用します。
通常、周囲のコードから、対応するCPUIDビットを推測できます。
その他の楽しい事実
フラグは実際には_Arch/x86/kernel/cpu/proc.c
_に次のコードで出力されます:
_seq_puts(m, "flags\t\t:");
for (i = 0; i < 32*NCAPINTS; i++)
if (cpu_has(c, i) && x86_cap_flags[i] != NULL)
seq_printf(m, " %s", x86_cap_flags[i]);
_
どこ:
cpu_has
_は、機能のメインチェックを行います。x86_cap_flags[i]
_には、各フラグに対応する文字列が含まれています。これは、proc
システム設定へのコールバックとして渡されます。エントリポイントは_fs/proc/cpuinfo.c
_にあります。
_x86_cap_flags
_文字列は、_Arch/x86/kernel/cpu/mkcapflags.h
_によって_Arch/x86/include/asm/cpufeature.h
_から直接生成され、sed
で「解析」されます...
出力はビルドディレクトリの_Arch/x86/kernel/cpu/capflags.c
_に送られ、結果の配列は次のようになります。
_const char * const x86_cap_flags[NCAPINTS*32] = {
[X86_FEATURE_FPU] = "fpu",
[X86_FEATURE_VME] = "vme",
_
たとえば、_X86_FEATURE_FPU
_は文字列_"fpu"
_に対応します。
_cpu_has
_は、コードで2つのケースに分類されます。
_#define cpu_has(c, bit) \
(__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
test_cpu_cap(c, bit))
_
彼らです:
__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit)
:カーネルを実行するにはフラグが必要です。
これは、コメントする_required-features.h
_内のデータによって決まります。
_Define minimum CPUID feature set for kernel These bits are checked
really early to actually display a visible error message before the
kernel dies. Make sure to assign features to the proper mask!
_
これらはコンパイル時に既知であり(カーネル要件)、起動時に既にチェックされているため、bit
がコンパイル時にわかっている場合、コンパイル時にチェックを解決できます。
したがって、__builtin_constant_p(bit)
は、bit
がコンパイル時定数であるかどうかをチェックします。
_test_cpu_cap
_:_struct cpuinfo_x86 boot_cpu_data
_グローバルからのCPUID
データを使い果たします
または、代わりにcpuid
プログラムを使用できます。これは、debianリポジトリにある必要があります。 CPUに関するすべての可能な情報をいくつかの説明とともにダンプします。そのため、これらのあいまいなフラグを取得しません。
一番良い答えは「完全なリストはカーネルソースのファイル Arch/x86/include/asm/cpufeatures.h 」にあります。それとインターネット/プロセッサのマニュアルを使用して、各フラグの意味を理解してください。
Lscpuの出力を表示し、このマシンからのlscpu/flagsをVM Host and VMで実行されています。Openstackqemu-kvmは、ここで実行されている仮想化サーバーです。
CPU:24対22
VMホスト上の24個のCPU。合計で24個のCPU。VMでは、22個のCPUが利用可能であることがわかります。
スレッド/コア/ソケット/ NUMAは異なります。 (下記参照)
モデル、モデル名、ステッピング、CPU MHz、L2キャッシュサイズが異なるものとして表示されます。 (以下を参照)
ホスト:モデル:45モデル名:Intel(R)Xeon(R)CPU E5-2640 0 @ 2.50GHz
vMの場合:モデル:42モデル名:Intel Xeon E312xx(Sandy Bridge、IBRSアップデート)
フラグ
vMに追加の2つのフラグ:
vMに31個のフラグがありません:
lscpuフル出力:
[root@Host ~]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 24
On-line CPU(s) list: 0-23
Thread(s) per core: 2
Core(s) per socket: 6
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 45
Model name: Intel(R) Xeon(R) CPU E5-2640 0 @ 2.50GHz
Stepping: 7
CPU MHz: 2375.000
CPU max MHz: 2500.0000
CPU min MHz: 1200.0000
BogoMIPS: 4987.53
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 15360K
NUMA node0 CPU(s): 0-5,12-17
NUMA node1 CPU(s): 6-11,18-23
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 pbe syscall nx pdpe1gb rdtscp lm constant_tsc Arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx lahf_lm epb ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm ida arat pln pts spec_ctrl intel_stibp flush_l1d openstack compute-node VM
[root@VM ~]$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 22
On-line CPU(s) list: 0-21
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 22
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 42
Model name: Intel Xeon E312xx (Sandy Bridge, IBRS update)
Stepping: 1
CPU MHz: 2493.748
BogoMIPS: 4987.49
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 4096K
L3 cache: 16384K
NUMA node0 CPU(s): 0-21
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology eagerfpu pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm ssbd ibrs ibpb stibp tsc_adjust xsaveopt arat spec_ctrl intel_stibp