Jak zjistím, zda má procesor konkrétní funkci? (64bitová instrukční sada, hardwarová virtualizace, kryptografické akcelerátory atd.) Vím, že soubor /proc/cpuinfo
obsahuje tyto informace v řádku flags
, ale co znamenají všechny tyto kryptické zkratky?
Například vzhledem k následujícímu výpisu z /proc/cpuinfo
, mám 64bitový procesor? Mám hardwarovou virtualizaci?
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
(32bitový a.k.a. i386 – i686 a 64-bit a.k.a. AMD64. Jinými slovy, vaše pracovní stanice, notebook nebo server.)
lm
vmx
(Intel), svm
(AMD)aes
smx
hypervisor
Většina dalších funkcí je zajímavá pouze pro autory kompilátoru nebo jádra.
Úplný výpis je ve zdroji jádra, v souboru Arch/x86/include/asm/cpufeatures.h
.
Viz také Wikipedia a tabulka 2-27 in Referenční příručka k programování pokročilých vektorových rozšíření Intel
fpu
: Onboard FPU (podpora s pohyblivou řádovou čárkou)vme
: Vylepšení režimu virtuálního 8086de
: Ladicí rozšíření ( CR4.DE )pse
: Rozšíření velikosti stránky (4MB stránky paměti )tsc
: Counter Time Stamp Counter (RDTSC)msr
: Registry specifické pro model (RDMSR, WRMSR)pae
: Rozšíření fyzických adres (podpora pro více než 4 GB RAM)mce
: Výjimka pro kontrolu strojecx8
: instrukce CMPXCHG8 (64bitová porovnání a výměna )apic
: Palubní APIC sep
: SYSENTER / SYSEXIT mtrr
: Registr typů rozsahu pamětipge
: Page Global Enable (globální bit v PDE a PTE)mca
: Machine Check Architecturecmov
: instrukce CMOV (podmíněný přesun) (také FCMOV )pat
: Tabulka atributů stránkypse36
: 6-bitové PSE (obrovské stránky)pn
: Sériové číslo procesorclflush
: Cache Line Flush instrukcedts
: Debug Store (vyrovnávací paměť pro pokyny k ladění a profilování)acpi
: ACPI přes MSR (sledování teploty a modulace rychlosti hodin)mmx
: Multimedia Extensionsfxsr
: FXSAVE/FXRSTOR, CR4.OSFXSRsse
: Intel SSE vektorové instrukcesse2
: SSE2ss
: Vlastní CPU snoopht
: Hyper-Threading nebo vícejádrovétm
: Automatické ovládání hodin (Thermal Monitor)ia64
: Intel Itanium Architecture 64-bit (nezaměňovat s 64bitovou architekturou x86 Intel s příznakem x86-64
nebo bit „AMD64“ označený příznakem lm
)pbe
: Aktivace čekajícího přerušení (PBE # pin) podpora probuzeníViz také Wikipedia a tabulka 2-23 v Referenční příručka pro programování rozšířených vektorů Intel
syscall
: SYSCALL (rychlé systémové volání) a SYSRET ( Návrat z rychlého systémového volání)mp
: Multiprocessing Schopný.nx
: Execute Disablemmxext
: rozšíření AMD MMXfxsr_opt
: Optimalizace FXSAVE/FXRSTORpdpe1gb
: Jeden GB stránky (umožňuje hugepagesz=1G
)rdtscp
: Přečíst čítač časového razítka a ID procesorlm
: Long Mode ( x86-64 : AMD64, známý také jako Intel 64, tj. 64bitový)3dnowext
: AMD 3DNow! rozšíření3dnow
: DNow! (vektorové instrukce AMD, konkurující společnosti Intel SSE1)recovery
: CPU v režimu obnovylongrun
: Řízení výkonu Longrunlrti
: Rozhraní tabulky LongRuncxmmx
: Cyrix MMX rozšířeník6_mtrr
: Nestandardní MTRR AMD K6cyrix_arr
: Cyrix ARR (= MTRRs)centaur_mcr
: Centaur MCRs (= MTRRs)constant_tsc
: TSC tiká konstantní rychlostíup
: SMP jádro běží na UPart
: Vždy běžící časovačArch_perfmon
: Intel Architectural PerfMonpebs
: Vzorkování založené na přesných událostechbts
: Branch Trace Storerep_good
: mikrokód opakování funguje dobřeacc_power
: AMD akumulovaný výkonový mechanismusnopl
: Instrukce NOPL (0F 1F)xtopology
: rozšíření výčtu čísel topologie cputsc_reliable
: TSC je známo, že je spolehlivýnonstop_tsc
: TSC se nezastaví ve stavech Ccpuid
: CPU má samotnou instrukci CPUIDextd_apicid
: rozšířil APICID (8 bitů)AMD_dcm
: procesor s více uzlyaperfmperf
: APERFMPERFeagerfpu
: Non líné obnovení FPUnonstop_tsc_s3
: TSC se nezastaví ve stavu S3tsc_known_freq
: TSC má známou frekvencimce_recovery
: CPU má obnovitelné strojové kontrolyViz také Wikipedia a tabulka 2-26 in Referenční příručka pro programování pokročilých vektorových rozšíření Intel
pni
: SSE- („ Prescott Nové pokyny“)pclmulqdq
: Proveďte beznárazové násobení Quadwordinstrukce - akcelerátor pro GCM =)dtes64
: 64-bit Debug Storemonitor
: Podpora sledování/Mwait ( doplňky Intel SSE )ds_cpl
: CPL Qual. Debug Storevmx
: Virtualizace hardwaru: Intel VMX smx
: Bezpečnější režim: TXT ( TPM podpora)est
: Vylepšeno SpeedSteptm2
: Thermal Monitor 2ssse3
: Doplňkový SSE-cid
: ID kontextusdbg
: křemíkové laděnífma
: Sloučené vícenásobné přidánícx16
: CMPXCHG16Bxtpr
: Odeslat prioritní zprávy o úkolechpdcm
: Možnosti výkonupcid
: Zpracovat kontextové identifikátorydca
: Přímý přístup do mezipamětisse4_1
: SSE-4.1sse4_2
: SSE-4.2x2apic
: x2APICmovbe
: Přesunout data po výměně bajtů instrukcepopcnt
: Vrátí počet bitů nastavený na 1instrukce ( Hammingova váha , tj. počet bitů)tsc_deadline_timer
: Tsc časovačaes
/aes-ni
: Advanced Encryption Standard (Nové pokyny)xsave
: ložit rozšířené stavy procesor : také poskytuje XGETBY , XRSTOR , XSETBY avx
: Advanced Vector Extensionsf16c
: 16bitové převody fp ( CVT16 )rdrand
: Číst Náhodné číslo z generátoru hardwarového náhodného čísla instrukcehypervisor
: Běží na hypervisorrng
: Generátor náhodných čísel přítomen (xstore)rng_en
: Generátor náhodných čísel povolenoace
: krypto na CPU (xcrypt)ace_en
: zapnuto šifrování na CPUace2
: Advanced Cryptography Engine v2ace2_en
: ACE v2 povolenophe
: PadLock Hash Enginephe_en
: PHE povolenopmm
: PadLock Montgomery Multiplierpmm_en
: PMM povolenolahf_lm
: Načíst AH z vlajek (LAHF) a uložit AH do vlajek (SAHF) v dlouhém režimucmp_legacy
: Pokud ano HyperThreading není platnýsvm
: „Zabezpečený virtuální počítač“: AMD-Vextapic
: Rozšířený prostor APICcr8_legacy
: CR8 v 32bitovém režimuabm
: Advanced Bit Manipulationsse4a
: SSE-4Amisalignsse
: označuje, zda je generována výjimka obecné ochrany (#GP), když některé starší verze SSE instrukce fungují na nezařazených datech. Závisí také na bitu CR0 a kontrole zarovnání)3dnowprefetch
: Pokyny k předběžnému načtení 3DNowosvw
: označuje OS Visible Workaround , což umožňuje OS obejít errata procesoru.ibs
: Vzorkování na základě instrukcíxop
: rozšířené instrukce AVXskinit
: Pokyny pro SKINIT/STGIwdt
: Časovač hlídacího psalwp
: Profilování s nízkou hmotnostífma4
: 4 operands MAC instrukcetce
: překladová mezipaměť překladůnodeid_msr
: NodeId MSRtbm
: Trailing Bit Manipulationtopoext
: Rozšíření topologie CPUID listyperfctr_core
: Základní čítače rozšíření výkonuperfctr_nb
: NB Rozšíření čítačů výkonu)bpext
: rozšíření datového boduptsc
: čítač časových údajů o výkonuperfctr_l2
: Rozšíření čítačů výkonu L2mwaitx
: MWAIT
rozšíření (MONITORX
/MWAITX
)ring3mwait
: Ring 3 MONITOR/MWAITcpuid_fault
: Porucha Intel CPUIDcpb
: AMD Core Performance Boostepb
: IA32_ENERGY_PERF_BIAS podporacat_l3
: Technologie alokace vyrovnávací paměti L3cat_l2
: Technologie alokace vyrovnávací paměti L2cdp_l3
: Prioritizace kódu a dat L3invpcid_single
: efektivně invpcid
a CR4.PCIDE=1
hw_pstate
: AMD HW-PStateproc_feedback
: AMD ProcFeedbackInterfacesme
: AMD Secure Memory Encryptionpti
: izolace tabulky stránek jádra (Kaiser)retpoline
: Retpoline zmírnění pro Specter Varianta 2 (nepřímé větve)retpoline_AMD
: AMD Zmírnění retpolinuintel_ppin
: Číslo inventáře procesoru Intelavx512_4vnniw
: Pokyny pro neuronovou síť AVX-512avx512_4fmaps
: AVX-512 Vícenásobná akumulace Jednoduchá přesnostmba
: Alokace šířky pásma pamětirsb_ctxsw
: Vyplňte RSB na kontextových přepínačíchtpr_shadow
: Intel TPR Shadowvnmi
: Intel Virtual NMIflexpriority
: Intel FlexPriorityept
: Intel Extended Table Tablevpid
: Intel Virtual Processor IDvmmcall
: preferovat VMMCALL
až VMCALL
fsgsbase
: {RD/WR} {FS/GS} ZÁKLADNÍ pokynytsc_adjust
: TSC úprava MSRbmi1
: Rozšíření o manipulaci s bitem 1. skupinyhle
: Hardware Elisionavx2
: instrukce AVX2smep
: Ochrana provádění režimu správcebmi2
: Rozšíření o manipulaci s bitem 2. skupinyerms
: Vylepšená REP MOVSB / STOSBinvpcid
: Neplatné ID kontextu procesorurtm
: Omezená transakční paměťcqm
: Cache QoS Monitoringmpx
: Rozšíření ochrany pamětirdt_a
: Alokace technologie ředitele zdrojůavx512f
: nadace AVX-512avx512dq
: instrukce AVX-512 Double/Quadrdseed
: Instrukce RDSEEDadx
: Pokyny ADCX a ADOXsmap
: Prevence přístupu do režimu správceclflushopt
: CLFLUSHOPT
instrukceclwb
: CLWB
instrukceintel_pt
: Sledování procesorů Intelavx512pf
: AVX-512 Prefetchavx512er
: AVX-512 Exponenciální a recipročníavx512cd
: AVX-512 Detection Conflictsha_ni
: SHA1/SHA256 Rozšíření pokynůavx512bw
: instrukce AVX-512 bajt/slovoavx512vl
: AVX-512 128/256 rozšíření vektorových délekxsaveopt
: Optimalizováno XSAVE
xsavec
: XSAVEC
xgetbv1
: XGETBV
s ECX = 1xsaves
: XSAVES
/XRSTORS
cqm_llc
: LLC QoScqm_occup_llc
: LLC sledování obsazenosticqm_mbm_total
: LLC celkové monitorování MBMcqm_mbm_local
: LLC místní MBM monitorováníclzero
: CLZERO
instrukceirperf
: instrukce čítače výkonu v důchoduxsaveerptr
: Vždy ukládat/obnovovat FP ukazatele chyb)dtherm
(dříve dts
): digitální teplotní senzorida
: Intel Dynamic Accelerationarat
: Vždy běží časovač APICpln
: Oznámení o omezení výkonu Intelpts
: Tepelný stav balíčku Intelhwp
: Stav hardwaru Intel Hardware Phwp_notify
: HWP oznámeníhwp_act_window
: Okno aktivity HWPhwp_epp
: Preference energetické výkonnosti HWPhwp_pkg_req
: Požadavek na úrovni balíčku HWPnpt
: Podpora tabulky vnořených stránek AMDlbrv
: Podpora virtualizace AMD LBRsvm_lock
: AMD SVM uzamčení MSRnrip_save
: AMD SVM next_rip savetsc_scale
: Podpora škálování AMD TSCvmcb_clean
: Podpora čistých bitů AMD VMCBflushbyasid
: Podpora AMD typu flush-by-ASIDdecodeassists
: Podpora AMD Decode Pomáhápausefilter
: AMD filtroval pauzupfthreshold
: Prahová hodnota filtru AMD pauzyavic
: Virtuální řadič přerušenívmsave_vmload
: Virtuální VMSAVE VMLOADvgif
: Virtuální GIFavx512vbmi
: AVX512 Pokyny pro manipulaci s vektorovými bityumip
: Ochrana instrukcí v uživatelském režimupku
: Ochranné klíče pro uživatelský prostorospke
: OS Protection Keys Enable Enableavx512_vbmi2
: Další pokyny k manipulaci s vektorovými bitem AVX512gfni
: Galois Field Nové pokynyvaes
: Vector AESvpclmulqdq
: Dvojnásobný kvadrok bez přenášeníavx512_vnni
: Pokyny k vektorové neuronové sítiavx512_bitalg
: VPOPCNT [B, W] a VPSHUF-BITQMBavx512_vpopcntdq
: POPCNT pro vektory DW/QWla57
: 5stránkové tabulky stránekrdpid
: RDPID instrukceoverflow_recov
: Podpora obnovy přetečení MCAsuccor
: neopravitelné omezení a obnovení chybsmca
: Škálovatelná MCAf00f
: Intel F00Ffdiv
: CPU FDIVcoma
: kóma Cyrix 6x86AMD_tlb_mmatch
: tlb_mmatch
AMD Erratum 383AMD_apic_c1e
: apic_c1e
AMD Erratum 40011ap
: Špatný místní APIC aka 11APfxsave_leak
: FXSAVE prosakuje FOP/FIP/FOPclflush_monitor
: AAI65, CLFLUSH vyžadováno před MONITOREMsysret_ss_attrs
: SYSRET neopravuje attrs SSespfix
: "" IRET na 16bitové SS poškozuje vysoké bitové hodnoty ESP/RSPnull_seg
: Vynulování selektoru zachová základnuswapgs_fence
: SWAPGS bez závislosti vstupu na GSmonitor
: IPI potřebné k probuzení vzdáleného CPUAMD_e400
: CPU patří mezi ovlivněné Erratum 400cpu_meltdown
: CPU je ovlivněno meltdown attack a potřebuje izolaci tabulky stránek jádraspectre_v1
: CPU je ovlivněno útokem Specter varianta 1 s podmíněnými větvemispectre_v2
: CPU je ovlivněno útokem Specter varianta 2 s nepřímými větvemispec_store_bypass
: CPU je ovlivněna zranitelností Speculative Store Bypass (Specter variant 4).P.S. Tento záznam byl odvozen od Arch/x86/include/asm/cpufeatures.h
ve zdroji jádra. Příznaky jsou uvedeny ve stejném pořadí jako zdrojový kód. Pomozte prosím přidáním odkazů na popisy funkcí, pokud chybí, napsáním krátkého popisu funkcí, které mají nevýrazné názvy, a aktualizací seznamu pro nové verze jádra. Aktuální seznam je od Linux 4.15 plus několik pozdějších dodatků.
Na procesorech ARM) je v řádku features:
Uvedeno několik funkcí. Pouze funkce přímo související s architekturou ARM, nikoli funkce specifické pro výrobce křemíku nebo systém na čipu.
Funkce jsou získány z vyhledávání CPU id s read_cpuid()
a vyhledávání v definice typu procesor známé v době kompilace, kde jsou funkce vyjádřeny jako maska příznaků HWCAP_xxx
. Odpovídající řetězce jsou v hwcap_str
Atd. V setup.c
.
V níže uvedeném seznamu ARMv6 představil SIMD instrukce a datové typy. ARMv7 poskytl Advanced SIMD instrukce a datové typy. Na 32bitových strojích ARM) signalizuje neon
Advanced SIMD; zatímco asimd
signalizuje Advanced SIMD na 64bitových strojích Arm.
swp
: SWP
instrukce ( atomické čtení-úprava-zápis )half
: Načte a uloží se půl slovathumb
: Palec (16bitová sada instrukcí)26bit
: model „26 bitů“ (Registr stavu procesoru složený do programového čítače)fastmult
: 2 × 32 → 64bitové násobenífpa
: rychlovač s pohyblivou čárkovfp
: VFP (brzy SIMD vektorové instrukce s pohyblivou řádovou čárkou)edsp
: rozšíření DSP („e“ varianta procesorů ARM9 a všechny ostatní výše)Java
: Jazelle (akcelerátor bajtového kódu Java)iwmmxt
: SIMD instrukce podobné Intel MMXcrunch
: MaverickCrunch koprocesor (pokud je podporována podpora jádra)thumbee
: ThumbEEneon
: Advanced SIMD/NEON (asimd
na starších jádrech AArch64)vfpv3
: VFP verze 3vfpv3d16
: VFP verze 3 s 16 D-registrytls
: TLS registracevfpv4
: VFP verze 4 s rychlým přepínáním kontextuidiva
: SDIV
a UDIV
hardwarové dělení v režimu ARM režimidivt
: SDIV
a UDIV
hardwarové dělení v palcovém režimuvfpd32
: VFP s 32 D-registrylpae
: Large Physical Address Extension (> 4 GB fyzické paměti na 32bitové architektuře)evtstrm
: stream událostí jádra pomocí generického časovače architekturyaes
: hardwarově akcelerované AES (kryptografie tajného klíče)pmull{2}
: 64 × 64 → 128-bit F2m multiplication - zrychlení režimu ověřeného šifrování GCMsha1
: Hardwarově akcelerované SHA-1sha2
: Hardwarově akcelerované SHA-256crc32
: Hardwarově akcelerované CRC-32Kromě toho řádek Hardware:
Označuje model procesoru. V závislosti na modelu mohou existovat další informace v jiných souborech pod /proc
Nebo /sys
, Nebo ve zprávách o logu jádra při spuštění. Bohužel každý ARM Výrobce CPU má svou vlastní metodu pro hlášení funkcí procesoru, pokud existují).
Najděte si to v 4.1.3 x86 a manuálu Intel
Arch/x86/include/asm/cpufeature.h
obsahuje úplný seznam.
Definovat hodnoty jsou typu:
X*32 + Y
Např.:
#define X86_FEATURE_FPU ( 0*32+ 0) /* Onboard FPU */
Parametry funkcí, extrahované z CPUID, jsou uloženy uvnitř:
__u32 x86_capability[NCAPINTS + NBUGINTS];
Polestruct cpuinfo_x86 boot_cpu_data
x86/kernel/setup.c
který je inicializován pomocí funkcí __init
.
Odkud pochází každý prvek pole 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 |
Poznámky:
index
: je index x86_capability
, např. x86_capability[0]
eax
a exc
: jsou vstupní hodnoty pro CPUID v hex. Vstupy používající exc
, které jsou méně, nazývejte to subleaf (ze dvouúrovňového stromu s eax
v kořenovém adresáři).output
: je registr, ze kterého je odebrán výstup CPUIDfile
: je soubor, ve kterém jsou tato pole definována. Cesty jsou relativní k Arch/x86/kernel/cpu/
.transmeta
: byl název dodavatele CPU https://en.wikipedia.org/wiki/Transmeta , který získal společnost Novafora https: //www.crunchbase .com/organizace/novaforacentaur
: bylo jméno dodavatele CPU https://en.wikipedia.org/wiki/Centaur_Technology , které bylo získáno VIA - - https://en.wikipedia.org/wiki/VIA_Technologies . Cyrix je další.Závěry:
většina položek pochází přímo z výstupních registrů CPUID a jsou nastaveny v common.c
takovým způsobem:
c->x86_capability[0] = edx;
Tyto dávky lze snadno najít v příručce Intel pro CPUID.
ostatní jsou rozptýleni po celém zdroji a jsou nastaveni kousek po kousku pomocí set_cpu_cap
.
Chcete-li je najít, použijte git grep X86_FEATURE_XXX
Uvnitř Arch/x86
.
Z okolního kódu můžete obvykle odvodit, k čemu odpovídají CPUID bitu.
Další zábavná fakta
Vlajky jsou ve skutečnosti vytištěny na Arch/x86/kernel/cpu/proc.c
S kódem:
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]);
Kde:
cpu_has
Provede hlavní kontrolu funkce.x86_cap_flags[i]
Obsahuje řetězce odpovídající každému příznaku.Toto je předáno jako zpětné volání k nastavení systému proc
. Vstupní bod je na fs/proc/cpuinfo.c
.
Řetězy x86_cap_flags
Jsou generovány pomocí Arch/x86/kernel/cpu/mkcapflags.h
Přímo z Arch/x86/include/asm/cpufeature.h
Tím, že jej "analyzujeme" pomocí sed
...
Výstup jde do Arch/x86/kernel/cpu/capflags.c
Adresáře build a výsledné pole vypadá takto:
const char * const x86_cap_flags[NCAPINTS*32] = {
[X86_FEATURE_FPU] = "fpu",
[X86_FEATURE_VME] = "vme",
takže například X86_FEATURE_FPU
odpovídá řetězci "fpu"
a tak dále.
cpu_has
Se rozdělí na dva případy s kódem:
#define cpu_has(c, bit) \
(__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
test_cpu_cap(c, bit))
Oni jsou:
__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit)
: pro spuštění jádra je vyžadován příznak.
To je určeno údaji uvnitř required-features.h
, Které komentují:
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!
Protože jsou známy v době kompilace (požadavky na jádro), byly již při spuštění zkontrolovány, lze kontrolu vyřešit v době kompilace, pokud je v době kompilace známa bit
.
Tedy __builtin_constant_p(bit)
, která kontroluje, zda bit
je časová konstanta kompilace.
test_cpu_cap
: Toto používá až CPUID
data z struct cpuinfo_x86 boot_cpu_data
Globální
Nebo můžete použít program cpuid
, musí být v úložišti debian. Vypíše všechny možné informace o vašem CPU s několika vysvětleními, takže ty nejasné příznaky nedostanete.
Nejlepší odpověď je nejlepší "Úplný výpis je ve zdroji jádra, v souboru Arch/x86/include/asm/cpufeatures.h ." Použijte toto a internetové/procesorové příručky k porozumění významu jednotlivých příznaků.
Přidání odpovědi na doplnění stávajících odpovědí konkrétním příkladem ze serveru HP Proliant G8 Intel Xeon, který zobrazí výstup lscpu a porovná lscpu/příznaky z tohoto počítače jako VM Host a VM běží na něm. Openstack qemu-kvm je zde spuštěn virtualizační server.
CPU: 24 vs 22
2 CPU připnuté pro řadič openstack na VM Host. Celkem 24 procesorů. V VM můžete vidět 22 CPU k dispozici).
Vlákna/jádra/patice/NUMA ukazují různé. (viz. níže)
Model, název modelu, krokování, CPU MHz, velikost mezipaměti L2 se liší. (více viz níže)
v hostiteli: Model: 45 Název modelu: Intel (R) Xeon (R) CPU E5-2640 0 @ 2,50GHz
na VM: Model: 42 Název modelu: Intel Xeon E312xx (Sandy Bridge, aktualizace IBRS)
VLAJKY
další 2 příznaky na VM:
chybí 31 vlajek na VM:
lscpu plný výkon:
[[email protected] ~]# 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
[[email protected] ~]$ 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