it-swarm-eu.dev

Co znamenají příznaky v / proc / cpuinfo?

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

x86

(32bitový a.k.a. i386 – i686 a 64-bit a.k.a. AMD64. Jinými slovy, vaše pracovní stanice, notebook nebo server.)

FAQ: Mám…

  • 64bitové (x86_64/AMD64/Intel64)? lm
  • Hardwarová virtualizace (VMX/AMD-V)? vmx (Intel), svm (AMD)
  • Zrychlené AES (AES-NI)? aes
  • TXT (TPM)? smx
  • hypervizor (ohlášen jako takový)? hypervisor

Většina dalších funkcí je zajímavá pouze pro autory kompilátoru nebo jádra.

Všechny vlajky

Úplný výpis je ve zdroji jádra, v souboru Arch/x86/include/asm/cpufeatures.h .

Funkce procesoru definované procesorem, úroveň CPUID 0x00000001 (edx)

Viz také Wikipedia a tabulka 2-27 in Referenční příručka k programování pokročilých vektorových rozšíření Intel

Vlastnosti CPU definované AMD, úroveň CPUID 0x80000001

Viz také Wikipedia a tabulka 2-23 v Referenční příručka pro programování rozšířených vektorů Intel

Transmeta definované funkce CPU, úroveň CPUID 0x80860001

  • recovery: CPU v režimu obnovy
  • longrun: Řízení výkonu Longrun
  • lrti: Rozhraní tabulky LongRun

Další funkce, mapování definované Linuxem

  • cxmmx: Cyrix MMX rozšíření
  • k6_mtrr: Nestandardní MTRR AMD K6
  • cyrix_arr: Cyrix ARR (= MTRRs)
  • centaur_mcr: Centaur MCRs (= MTRRs)
  • constant_tsc: TSC tiká konstantní rychlostí
  • up: SMP jádro běží na UP
  • art: Vždy běžící časovač
  • Arch_perfmon: Intel Architectural PerfMon
  • pebs: Vzorkování založené na přesných událostech
  • bts: Branch Trace Store
  • rep_good: mikrokód opakování funguje dobře
  • acc_power: AMD akumulovaný výkonový mechanismus
  • nopl: Instrukce NOPL (0F 1F)
  • xtopology: rozšíření výčtu čísel topologie cpu
  • tsc_reliable: TSC je známo, že je spolehlivý
  • nonstop_tsc: TSC se nezastaví ve stavech C
  • cpuid: CPU má samotnou instrukci CPUID
  • extd_apicid: rozšířil APICID (8 bitů)
  • AMD_dcm: procesor s více uzly
  • aperfmperf: APERFMPERF
  • eagerfpu: Non líné obnovení FPU
  • nonstop_tsc_s3: TSC se nezastaví ve stavu S3
  • tsc_known_freq: TSC má známou frekvenci
  • mce_recovery: CPU má obnovitelné strojové kontroly

Funkce procesoru definované procesorem, úroveň CPUID 0x00000001 (ecx)

Viz také Wikipedia a tabulka 2-26 in Referenční příručka pro programování pokročilých vektorových rozšíření Intel

Vlastnosti procesoru definované procesorem VIA/Cyrix/Centaur, úroveň CPUID 0xC0000001

  • rng: Generátor náhodných čísel přítomen (xstore)
  • rng_en: Generátor náhodných čísel povoleno
  • ace: krypto na CPU (xcrypt)
  • ace_en: zapnuto šifrování na CPU
  • ace2: Advanced Cryptography Engine v2
  • ace2_en: ACE v2 povoleno
  • phe: PadLock Hash Engine
  • phe_en: PHE povoleno
  • pmm: PadLock Montgomery Multiplier
  • pmm_en: PMM povoleno

Rozšířené příznaky AMD: CPUID úroveň 0x80000001, ecx

  • lahf_lm: Načíst AH z vlajek (LAHF) a uložit AH do vlajek (SAHF) v dlouhém režimu
  • cmp_legacy: Pokud ano HyperThreading není platný
  • svm: „Zabezpečený virtuální počítač“: AMD-V
  • extapic: Rozšířený prostor APIC
  • cr8_legacy: CR8 v 32bitovém režimu
  • abm: Advanced Bit Manipulation
  • sse4a: SSE-4A
  • misalignsse: 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í 3DNow
  • osvw: označuje OS Visible Workaround , což umožňuje OS obejít errata procesoru.
  • ibs: Vzorkování na základě instrukcí
  • xop: rozšířené instrukce AVX
  • skinit: Pokyny pro SKINIT/STGI
  • wdt: Časovač hlídacího psa
  • lwp: Profilování s nízkou hmotností
  • fma4: 4 operands MAC instrukce
  • tce: překladová mezipaměť překladů
  • nodeid_msr: NodeId MSR
  • tbm: Trailing Bit Manipulation
  • topoext: Rozšíření topologie CPUID listy
  • perfctr_core: Základní čítače rozšíření výkonu
  • perfctr_nb: NB Rozšíření čítačů výkonu)
  • bpext: rozšíření datového bodu
  • ptsc: čítač časových údajů o výkonu
  • perfctr_l2: Rozšíření čítačů výkonu L2
  • mwaitx: MWAIT rozšíření (MONITORX/MWAITX)

Pomocné příznaky: Definováno Linux - Pro funkce roztroušené v různých úrovních CPUID

  • ring3mwait: Ring 3 MONITOR/MWAIT
  • cpuid_fault: Porucha Intel CPUID
  • cpb: AMD Core Performance Boost
  • epb: IA32_ENERGY_PERF_BIAS podpora
  • cat_l3: Technologie alokace vyrovnávací paměti L3
  • cat_l2: Technologie alokace vyrovnávací paměti L2
  • cdp_l3: Prioritizace kódu a dat L3
  • invpcid_single: efektivně invpcid a CR4.PCIDE=1
  • hw_pstate: AMD HW-PState
  • proc_feedback: AMD ProcFeedbackInterface
  • sme: AMD Secure Memory Encryption
  • pti: 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í retpolinu
  • intel_ppin: Číslo inventáře procesoru Intel
  • avx512_4vnniw: Pokyny pro neuronovou síť AVX-512
  • avx512_4fmaps: AVX-512 Vícenásobná akumulace Jednoduchá přesnost
  • mba: Alokace šířky pásma paměti
  • rsb_ctxsw: Vyplňte RSB na kontextových přepínačích

Příznaky virtualizace: Linux je definován

  • tpr_shadow: Intel TPR Shadow
  • vnmi: Intel Virtual NMI
  • flexpriority: Intel FlexPriority
  • ept: Intel Extended Table Table
  • vpid: Intel Virtual Processor ID
  • vmmcall: preferovat VMMCALLVMCALL

Funkce procesoru definované procesorem, úroveň CPUID 0x00000007: 0 (ebx)

Funkce rozšířeného stavu, úroveň CPUID 0x0000000d: 1 (eax)

  • xsaveopt: Optimalizováno XSAVE
  • xsavec: XSAVEC
  • xgetbv1: XGETBV s ECX = 1
  • xsaves: XSAVES/XRSTORS

Podřízený list CPU QoS definovaný společností Intel, úroveň CPUID 0x0000000F: 0 (edx)

  • cqm_llc: LLC QoS

Podřízený list CPU QoS definovaný společností Intel, úroveň CPUID 0x0000000F: 1 (edx)

  • cqm_occup_llc: LLC sledování obsazenosti
  • cqm_mbm_total: LLC celkové monitorování MBM
  • cqm_mbm_local: LLC místní MBM monitorování

Funkce procesoru definované AMD, úroveň CPUID 0x80000008 (ebx)

  • clzero: CLZERO instrukce
  • irperf: instrukce čítače výkonu v důchodu
  • xsaveerptr: Vždy ukládat/obnovovat FP ukazatele chyb)

Termální a energetický management list, CPUID úroveň 0x00000006 (eax)

  • dtherm (dříve dts): digitální teplotní senzor
  • ida: Intel Dynamic Acceleration
  • arat: Vždy běží časovač APIC
  • pln: Oznámení o omezení výkonu Intel
  • pts: Tepelný stav balíčku Intel
  • hwp: Stav hardwaru Intel Hardware P
  • hwp_notify: HWP oznámení
  • hwp_act_window: Okno aktivity HWP
  • hwp_epp: Preference energetické výkonnosti HWP
  • hwp_pkg_req: Požadavek na úrovni balíčku HWP

Identifikace funkce AMD SVM, úroveň CPUID 0x8000000a (edx)

  • npt: Podpora tabulky vnořených stránek AMD
  • lbrv: Podpora virtualizace AMD LBR
  • svm_lock: AMD SVM uzamčení MSR
  • nrip_save: AMD SVM next_rip save
  • tsc_scale: Podpora škálování AMD TSC
  • vmcb_clean: Podpora čistých bitů AMD VMCB
  • flushbyasid: Podpora AMD typu flush-by-ASID
  • decodeassists: Podpora AMD Decode Pomáhá
  • pausefilter: AMD filtroval pauzu
  • pfthreshold: Prahová hodnota filtru AMD pauzy
  • avic: Virtuální řadič přerušení
  • vmsave_vmload: Virtuální VMSAVE VMLOAD
  • vgif: Virtuální GIF

Funkce procesoru definované procesorem, úroveň CPUID 0x00000007: 0 (ecx)

  • avx512vbmi: AVX512 Pokyny pro manipulaci s vektorovými bity
  • umip: Ochrana instrukcí v uživatelském režimu
  • pku: Ochranné klíče pro uživatelský prostor
  • ospke: OS Protection Keys Enable Enable
  • avx512_vbmi2: Další pokyny k manipulaci s vektorovými bitem AVX512
  • gfni: Galois Field Nové pokyny
  • vaes: Vector AES
  • vpclmulqdq: Dvojnásobný kvadrok bez přenášení
  • avx512_vnni: Pokyny k vektorové neuronové síti
  • avx512_bitalg: VPOPCNT [B, W] a VPSHUF-BITQMB
  • avx512_vpopcntdq: POPCNT pro vektory DW/QW
  • la57: 5stránkové tabulky stránek
  • rdpid: RDPID instrukce

Funkce procesoru definované AMD, úroveň CPUID 0x80000007 (ebx)

  • overflow_recov: Podpora obnovy přetečení MCA
  • succor: neopravitelné omezení a obnovení chyb
  • smca: Škálovatelná MCA

Zjištěné chyby CPU (definované v systému Linux)

  • f00f: Intel F00F
  • fdiv: CPU FDIV
  • coma: kóma Cyrix 6x86
  • AMD_tlb_mmatch: tlb_mmatch AMD Erratum 383
  • AMD_apic_c1e: apic_c1e AMD Erratum 400
  • 11ap: Špatný místní APIC aka 11AP
  • fxsave_leak: FXSAVE prosakuje FOP/FIP/FOP
  • clflush_monitor: AAI65, CLFLUSH vyžadováno před MONITOREM
  • sysret_ss_attrs: SYSRET neopravuje attrs SS
  • espfix: "" IRET na 16bitové SS poškozuje vysoké bitové hodnoty ESP/RSP
  • null_seg: Vynulování selektoru zachová základnu
  • swapgs_fence: SWAPGS bez závislosti vstupu na GS
  • monitor: IPI potřebné k probuzení vzdáleného CPU
  • AMD_e400: CPU patří mezi ovlivněné Erratum 400
  • cpu_meltdown: CPU je ovlivněno meltdown attack a potřebuje izolaci tabulky stránek jádra
  • spectre_v1: CPU je ovlivněno útokem Specter varianta 1 s podmíněnými větvemi
  • spectre_v2: CPU je ovlivněno útokem Specter varianta 2 s nepřímými větvemi
  • spec_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ů.

ARM

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.

Kromě 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í).

x86

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]; Pole
  • z struct cpuinfo_x86 boot_cpu_data
  • definováno na 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:

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.

10
hurufu

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:

      • dts: 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) https://wiki.osdev.org/ACPI ACPI (Advanced Configuration and Power Interface) je Power Management a konfigurační standard pro PC
      • ht: Hyper-Threading a/nebo multi-core
      • tm: Automatické ovládání hodin (Thermal Monitor)
      • pbe: Probíhá podpora probuzení (PBE # pin)
      • Arch_perfmon: Intel Architectural PerfMon
      • pebs: Vzorkování založené na přesných událostech
      • bts: Branch Trace Store
      • nonstop_tsc: TSC nekončí ve stavech C TSC = Počítadlo časových razítek (registr Intel) https://wiki.osdev.org/TSC
      • aperfmperf: APERF a MPERF jsou registry MSR "APERF a MPERF jsou registry MSR, které mohou poskytovat zpětnou vazbu o aktuální frekvenci CPU."
      • dtes64: 64-bit Debug Store
      • monitor: Podpora monitoru/Mwait (doplňky Intel SSE3)
      • ds_cpl: CPL Qual. Debug Store - CPL je aktuální úroveň oprávnění (bity v CS registru)
      • vmx: Virtualizace hardwaru: Intel VMX
      • smx: Bezpečnější režim: TXT (Trusted Execution Technology) (podpora TPM (Trusted Platform Module)))
      • est: Enhanced SpeedStep
      • tm2: Thermal Monitor 2
      • xtpr: Odesílání prioritních zpráv
      • pdcm: Výkonnostní schopnosti
      • dca: Přímý přístup do mezipaměti
      • podpora epb: IA32_ENERGY_PERF_BIAS
      • tpr_shadow: Intel TPR Shadow TPR = Registr prioritních úloh
      • vnmi: Intel Virtual NMI https://wiki.osdev.org/NMI (přerušení bez maskování)
      • flexpriority: Intel FlexPriority Virtualizační technologie Intel
      • ept: Rozšířená tabulka stránek Intel
      • vpid: Intel Virtual Processor ID
      • dtherm: (dříve dts) digitální teplotní senzor
      • ida: Intel Dynamic Acceleration
      • pln: Oznámení o omezení výkonu Intel
      • pts: Tepelný stav balíčku Intel
      • flush_l1d: Flush L1 (úroveň 1) D (datová) mezipaměť

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
1
gaoithe