Comment savoir si mon processeur a une fonction particulière? (Jeu d'instructions 64 bits, virtualisation assistée par matériel, accélérateurs cryptographiques, etc.) Je sais que le fichier /proc/cpuinfo
contient ces informations, dans la ligne flags
, mais que signifient toutes ces abréviations cryptiques?
Par exemple, étant donné l'extrait suivant de /proc/cpuinfo
, ai-je un processeur 64 bits? Ai-je une virtualisation matérielle?
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 bits alias i386 – i686 et 64 bits alias AMD64. En d'autres termes, votre poste de travail, ordinateur portable ou serveur.)
lm
vmx
(Intel), svm
(AMD)aes
smx
hypervisor
La plupart des autres fonctionnalités ne sont intéressantes que pour les auteurs de compilateurs ou de noyaux.
La liste complète se trouve dans la source du noyau, dans le fichier Arch/x86/include/asm/cpufeatures.h
.
Voir aussi Wikipedia et le tableau 2-27 dans Intel Advanced Vector Extensions Programming Reference
fpu
: à bord FPU (support en virgule flottante)vme
: améliorations du mode 8086 virtuelde
: Extensions de débogage ( CR4.DE )pse
: Extensions de taille de page (4 Mo pages mémoire )tsc
: compteur d'horodatage (RDTSC)msr
: registres spécifiques au modèle (RDMSR, WRMSR)pae
: extensions d'adresse physique (prise en charge de plus de 4 Go de RAM)mce
: exception de vérification de la machinecx8
: instruction CMPXCHG8 (64 bits comparer et échanger )apic
: à bord APIC sep
: SYSENTER / SYSEXIT mtrr
: registres de plage de types de mémoirepge
: Page Global Enable (bit global dans les PDE et PTE)mca
: Architecture de vérification de la machinecmov
: instructions CMOV (déplacement conditionnel) (également FCMOV )pat
: Tableau d'attributs de pagepse36
: PSE 36 bits (pages énormes)pn
: numéro de série du processeurclflush
: Cache Line Flush instructiondts
: Debug Store (tampon pour les instructions de débogage et de profilage)acpi
: ACPI via MSR (surveillance de la température et modulation de la vitesse d'horloge)mmx
: Extensions multimédiasfxsr
: FXSAVE/FXRSTOR, CR4.OSFXSRsse
: Intel SSE instructions vectoriellessse2
: SSE2ss
: CPU self snoopht
: Hyper-Threading et/ou multicœurtm
: Contrôle automatique de l'horloge (Thermal Monitor)ia64
: Intel Itanium Architecture 64 bits (à ne pas confondre avec l'architecture Intel x64 64 bits avec indicateur x86-64
ou bit "AMD64" indiqué par l'indicateur lm
)pbe
: En attente de pause activée (PBE # pin) prise en charge du réveilVoir aussi Wikipedia et le tableau 2-23 dans Intel Advanced Vector Extensions Programming Reference
syscall
: SYSCALL (Fast System Call) et SYSRET ( Retour d'un appel système rapide)mp
: Multiprocessing Capable.nx
: Exécuter Désactivermmxext
: extensions AMD MMXfxsr_opt
: Optimisations FXSAVE/FXRSTORpdpe1gb
: Un Go pages (autorise hugepagesz=1G
)rdtscp
: Lire le compteur d'horodatage et l'ID du processeurlm
: Mode long ( x86-64 : AMD64, également connu sous le nom d'Intel 64, c'est-à-dire capable de 64 bits)3dnowext
: AMD 3DNow! extensions3dnow
: DNow! (Instructions vectorielles AMD, en concurrence avec SSE1 d'Intel)recovery
: CPU en mode de récupérationlongrun
: Contrôle de puissance longue duréelrti
: interface de table LongRuncxmmx
: extensions Cyrix MMXk6_mtrr
: AMD K6 non standard MTRRcyrix_arr
: Cyrix ARR (= MTRR)centaur_mcr
: Centaur MCRs (= MTRRs)constant_tsc
: TSC se déclenche à un taux constantup
: noyau SMP fonctionnant sur UPart
: Minuterie toujours activeArch_perfmon
: Intel Architectural PerfMonpebs
: échantillonnage basé sur des événements précisbts
: Branch Trace Storerep_good
: le microcode rep fonctionne bienacc_power
: mécanisme de puissance accumulée AMDnopl
: Les instructions NOPL (0F 1F)xtopology
: extensions d'énumération de topologie cputsc_reliable
: TSC est connu pour être fiablenonstop_tsc
: TSC ne s'arrête pas dans les états Ccpuid
: le CPU a lui-même une instruction CPUIDextd_apicid
: a étendu APICID (8 bits)AMD_dcm
: processeur multi-nœudsaperfmperf
: APERFMPERFeagerfpu
: restauration FPU non paresseusenonstop_tsc_s3
: TSC ne s'arrête pas dans l'état S3tsc_known_freq
: TSC a une fréquence connuemce_recovery
: Le processeur a des vérifications de machine récupérablesVoir aussi Wikipedia et le tableau 2-26 dans Intel Advanced Vector Extensions Programming Reference
pni
: SSE- (“ Prescott Nouvelles instructions”)pclmulqdq
: Effectuer une multiplication Carry-Less de Quadwordinstruction - accélérateur pour GCM =)dtes64
: Magasin de débogage 64 bitsmonitor
: Support moniteur/Mwait ( suppléments Intel SSE )ds_cpl
: CPL Qual. Boutique de débogagevmx
: Virtualisation matérielle: Intel VMX smx
: Mode plus sûr: TXT ( TPM support)est
: Amélioré SpeedSteptm2
: Moniteur thermique 2ssse3
: SSE-3 supplémentairecid
: ID de contextesdbg
: débogage de siliciumfma
: fusion multipliée-ajoutercx16
: CMPXCHG16Bxtpr
: envoyer des messages de priorité de tâchepdcm
: capacités de performancespcid
: identificateurs de contexte de processusdca
: Accès direct au cachesse4_1
: SSE-4.1sse4_2
: SSE-4.2x2apic
: x2APICmovbe
: Déplacer les données après l'échange des octets instructionpopcnt
: Retourne le nombre de bits défini à 1instruction ( poids de Hamming , c'est-à-dire le nombre de bits)tsc_deadline_timer
: Minuterie de délai Tscaes
/aes-ni
: Advanced Encryption Standard (nouvelles instructions)xsave
: Enregistrer les états étendus du processeur : fournit également XGETBY , XRSTOR , XSETBY avx
: Extensions vectorielles avancéesf16c
: Conversions fp 16 bits ( CVT16 )rdrand
: Lire le nombre aléatoire à partir du générateur de nombres aléatoires matériel instructionhypervisor
: Exécution sur hyperviseurrng
: Générateur de nombres aléatoires présent (xstore)rng_en
: Générateur de nombres aléatoires activéace
: crypto sur CPU (xcrypt)ace_en
: crypto sur CPU activéace2
: Advanced Cryptography Engine v2ace2_en
: ACE v2 activéphe
: PadLock Hash Enginephe_en
: PHE activépmm
: Multiplicateur PadLock Montgomerypmm_en
: PMM activélahf_lm
: Charger AH depuis les drapeaux (LAHF) et stocker AH dans les drapeaux (SAHF) en mode longcmp_legacy
: Si oui HyperThreading non validesvm
: “Machine virtuelle sécurisée”: AMD-Vextapic
: Espace APIC étenducr8_legacy
: CR8 en mode 32 bitsabm
: Manipulation avancée des bitssse4a
: SSE-4Amisalignsse
: indique si une exception de protection générale (#GP) est générée lorsque certaines instructions héritées SSE fonctionnent sur des données non alignées. Dépend également de CR0 et du bit de vérification d'alignement3dnowprefetch
: Instructions de prélecture 3DNowosvw
: indique Contournement visible du système d'exploitation , ce qui permet au système d'exploitation de contourner les erreurs de processeur.ibs
: échantillonnage basé sur les instructionsxop
: instructions AVX étenduesskinit
: instructions SKINIT/STGIwdt
: horloge de surveillancelwp
: profilage légerfma4
: 4 instructions opérandes MACtce
: extension du cache de traductionnodeid_msr
: NodeId MSRtbm
: Manipulation des bits de fintopoext
: Extensions de topologie feuilles CPUIDperfctr_core
: Extensions du compteur de performances de baseperfctr_nb
: NB Extensions du compteur de performancesbpext
: extension du point d'arrêt des donnéesptsc
: compteur d'horodatage des performancesperfctr_l2
: Extensions du compteur de performances L2mwaitx
: MWAIT
extension (MONITORX
/MWAITX
)ring3mwait
: Bague 3 MONITOR/MWAITcpuid_fault
: Intel CPUID défaillantcpb
: AMD Core Performance Boostepb
: prise en charge IA32_ENERGY_PERF_BIAScat_l3
: Technologie d'allocation de cache L3cat_l2
: Technologie d'allocation de cache L2cdp_l3
: Code et hiérarchisation des données L3invpcid_single
: effectivement invpcid
et CR4.PCIDE=1
hw_pstate
: AMD HW-PStateproc_feedback
: AMD ProcFeedbackInterfacesme
: AMD Secure Memory Encryptionpti
: Isolation de la table des pages du noya (Kaiser)retpoline
: Retpoline atténuation pour Spectre variante 2 (branches indirectes)retpoline_AMD
: Atténuation AMD Retpolineintel_ppin
: Numéro d'inventaire du processeur Intelavx512_4vnniw
: Instructions pour le réseau neuronal AVX-512avx512_4fmaps
: AVX-512 Multiply Accumulation Simple précisionmba
: Allocation de bande passante mémoirersb_ctxsw
: Remplir RSB sur les commutateurs de contextetpr_shadow
: Intel TPR Shadowvnmi
: Intel Virtual NMIflexpriority
: Intel FlexPriorityept
: Intel Extended Page Tablevpid
: ID du processeur virtuel Intelvmmcall
: préférez VMMCALL
à VMCALL
fsgsbase
: {RD/WR} {FS/GS} Instructions BASEtsc_adjust
: Réglage TSC MSRbmi1
: Extensions de manipulation de bits du 1er groupehle
: Elision de verrouillage matérielavx2
: instructions AVX2smep
: Protection d'exécution en mode superviseurbmi2
: Extensions de manipulation de bits du 2e groupeerms
: REP MOVSB / STOSB amélioréinvpcid
: invalider l'ID de contexte du processeurrtm
: Mémoire transactionnelle restreintecqm
: Surveillance de la QoS du cachempx
: Extension de protection de la mémoirerdt_a
: Resource Director Technology Allocationavx512f
: Fondation AVX-512avx512dq
: instructions AVX-512 Double/Quadrdseed
: l'instruction RDSEEDadx
: les instructions ADCX et ADOXsmap
: Prévention d'accès en mode superviseurclflushopt
: CLFLUSHOPT
instructionclwb
: CLWB
instructionintel_pt
: suivi du processeur Intelavx512pf
: AVX-512 Prefetchavx512er
: AVX-512 exponentiel et réciproqueavx512cd
: Détection de conflit AVX-512sha_ni
: Extensions d'instructions SHA1/SHA256avx512bw
: instructions AVX-512 octets/motsavx512vl
: Extensions de longueur de vecteur AVX-512 128/256xsaveopt
: optimisé XSAVE
xsavec
: XSAVEC
xgetbv1
: XGETBV
avec ECX = 1xsaves
: XSAVES
/XRSTORS
cqm_llc
: LLC QoScqm_occup_llc
: Surveillance de l'occupation LLCcqm_mbm_total
: LLC surveillance totale de MBMcqm_mbm_local
: Surveillance MBM locale LLCclzero
: CLZERO
instructionirperf
: compteur de performances retiré des instructionsxsaveerptr
: toujours enregistrer/restaurer FP pointeurs d'erreurdtherm
(anciennement dts
): capteur thermique numériqueida
: Intel Dynamic Accelerationarat
: Toujours exécuter la minuterie APICpln
: Notification Intel Power Limitpts
: État thermique du package Intelhwp
: états P du matériel Intelhwp_notify
: Notification HWPhwp_act_window
: Fenêtre d'activité HWPhwp_epp
: Préférence de performance énergétique HWPhwp_pkg_req
: Demande au niveau du package HWPnpt
: Prise en charge des tables de pages imbriquées AMDlbrv
: Prise en charge de la virtualisation AMD LBRsvm_lock
: AMD SVM verrouillage MSRnrip_save
: Sauvegarde AMD SVM next_riptsc_scale
: Prise en charge de la mise à l'échelle AMD TSCvmcb_clean
: Prise en charge des bits propres AMD VMCBflushbyasid
: Prise en charge AMD flush-by-ASIDdecodeassists
: AMD Decode Assists prend en chargepausefilter
: Interception de pause filtrée AMDpfthreshold
: seuil de filtre de pause AMDavic
: Virtual Interrupt Controllervmsave_vmload
: Virtual VMSAVE VMLOADvgif
: GIF virtuelavx512vbmi
: Instructions de manipulation des bits vectoriels AVX512umip
: Protection des instructions du mode utilisateurpku
: Clés de protection pour l'espace utilisateurospke
: Activer les clés de protection du système d'exploitationavx512_vbmi2
: Instructions supplémentaires de manipulation des bits vectoriels AVX512gfni
: Nouvelles instructions du champ Galoisvaes
: vecteur AESvpclmulqdq
: double mot de multiplication sans portageavx512_vnni
: Instructions pour le réseau neuronal vectorielavx512_bitalg
: Instructions VPOPCNT [B, W] et VPSHUF-BITQMBavx512_vpopcntdq
: POPCNT pour les vecteurs de DW/QWla57
: Tableaux de pages à 5 niveauxrdpid
: instruction RDPIDoverflow_recov
: Prise en charge de la récupération de débordement MCAsuccor
: confinement et récupération des erreurs non corrigiblessmca
: MCA évolutiff00f
: Intel F00Ffdiv
: CPU FDIVcoma
: coma Cyrix 6x86AMD_tlb_mmatch
: tlb_mmatch
AMD Erratum 383AMD_apic_c1e
: apic_c1e
AMD Erratum 40011ap
: Mauvais APIC local aka 11APfxsave_leak
: FXSAVE fuit FOP/FIP/FOPclflush_monitor
: AAI65, CLFLUSH requis avant MONITORsysret_ss_attrs
: SYSRET ne corrige pas les attr SSespfix
: "" IRET à SS 16 bits corrompt les bits hauts ESP/RSPnull_seg
: Annuler un sélecteur préserve la baseswapgs_fence
: SWAPGS sans entrée dep sur GSmonitor
: IPI requis pour réveiller le CPU distantAMD_e400
: Le CPU est parmi les affectés par Erratum 400cpu_meltdown
: Le processeur est affecté par attaque de fusion et a besoin de l'isolement de la table des pages du noyauspectre_v1
: Le CPU est affecté par Spectre attaque variante 1 avec branches conditionnellesspectre_v2
: Le CPU est affecté par Spectre attaque variante 2 avec branches indirectesspec_store_bypass
: Le CPU est affecté par la vulnérabilité Speculative Store Bypass (Spectre variante 4).P.S. Cette liste est dérivée de Arch/x86/include/asm/cpufeatures.h
dans la source du noyau. Les drapeaux sont répertoriés dans le même ordre que le code source. Aidez-nous en ajoutant des liens vers les descriptions des fonctionnalités lorsqu'elles sont manquantes, en écrivant une courte description des fonctionnalités qui ont des noms inexpressifs et en mettant à jour la liste des nouvelles versions du noyau. La liste actuelle est de Linux 4.15 plus quelques ajouts ultérieurs.
Sur les processeurs ARM, quelques fonctionnalités sont mentionnées dans la ligne features:
. Seules les fonctionnalités directement liées à l'architecture ARM) y sont mentionnées, pas fonctionnalités spécifiques à un fabricant de silicium ou système sur puce.
Les fonctionnalités sont obtenues en recherchant l'ID du processeur avec read_cpuid()
et en le recherchant dans les définitions de type de processeur connues au moment de la compilation où les fonctionnalités sont exprimées comme un masque de HWCAP_xxx
drapeaux. Les chaînes correspondantes sont en hwcap_str
Etc. en setup.c
.
Dans la liste ci-dessous, ARMv6 a présenté les instructions et les types de données SIMD. ARMv7 a fourni des instructions SIMD avancées et des types de données. Sur les machines 32 bits ARM, neon
signale Advanced SIMD; tandis que asimd
signale Advanced SIMD sur les machines à bras 64 bits.
swp
: SWP
instruction ( atomique lecture-modification-écriture )half
: Demi-Word charge et stockethumb
: Thumb (jeu d'instructions 16 bits)26bit
: Modèle "26 bits" (Registre d'état du processeur replié dans le compteur de programme)fastmult
: multiplication 32 × 32 → 64 bitsfpa
: accélérateur à virgule flottantevfp
: VFP (tôt SIMD instructions vectorielles en virgule flottante)edsp
: extensions DSP (la variante 'e' des CPU ARM9, et toutes les autres ci-dessus)Java
: Jazelle (accélérateur de bytecode Java)iwmmxt
: SIMD instructions similaire à Intel MMXcrunch
: MaverickCrunch coprocesseur (si la prise en charge du noyau est activée)thumbee
: ThumbEEneon
: Advanced SIMD/NEON (asimd
sur les anciens noyaux AArch64)vfpv3
: VFP version 3vfpv3d16
: VFP version 3 avec 16 registres Dtls
: TLS s'inscrirevfpv4
: VFP version 4 avec changement de contexte rapideidiva
: SDIV
et UDIV
division matérielle en ARMidivt
: SDIV
et UDIV
division matérielle en mode Thumbvfpd32
: VFP avec 32 registres Dlpae
: Grande extension d'adresse physique (> 4 Go de mémoire physique sur une architecture 32 bits)evtstrm
: flux d'événements du noyau utilisant un minuteur architecturé génériqueaes
: accélération matérielle AES (cryptographie à clé secrète)pmull{2}
: 64 × 64 → 128 bits F2m multiplication - accélération pour le mode GCM de chiffrement authentifiésha1
: Accéléré par le matériel SHA-1sha2
: Accéléré par le matériel SHA-256crc32
: Accéléré par le matériel CRC-32Au-delà, la ligne Hardware:
Indique le modèle de processeur. Selon le modèle, il peut y avoir d'autres informations dans d'autres fichiers sous /proc
Ou /sys
, Ou dans les messages du journal du noyau au démarrage. Malheureusement, chaque fabricant de CPU ARM possède sa propre méthode pour signaler les fonctionnalités du processeur, le cas échéant).
Trouvez-le vous-même dans 4.1.3 x86 et le manuel d'Intel
Arch/x86/include/asm/cpufeature.h
contient la liste complète.
Les valeurs définies sont de type:
X*32 + Y
Par exemple.:
#define X86_FEATURE_FPU ( 0*32+ 0) /* Onboard FPU */
Les indicateurs de fonctionnalités, extraits de CPUID, sont stockés dans:
__u32 x86_capability[NCAPINTS + NBUGINTS];
struct cpuinfo_x86 boot_cpu_data
x86/kernel/setup.c
qui est initialisé par les fonctions __init
.
D'où vient chaque élément de tableau 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 |
Remarques:
index
: est l'index de x86_capability
, par ex. x86_capability[0]
eax
et exc
: sont les valeurs d'entrée pour CPUID en hexadécimal. Les entrées qui utilisent exc
, qui sont moins nombreuses, l'appellent subleaf (d'une arborescence à 2 niveaux avec eax
à la racine).output
: est le registre à partir duquel la sortie CPUID est prisefile
: est le fichier dans lequel ces champs sont définis. Les chemins sont relatifs à Arch/x86/kernel/cpu/
.transmeta
: était le nom d'un fournisseur de CPU https://en.wikipedia.org/wiki/Transmeta qui a été acquis par Novafora https: //www.crunchbase .com/organisation/novaforacentaur
: était le nom d'un fournisseur de CPU https://en.wikipedia.org/wiki/Centaur_Technology qui a été acquis par VIA - https://en.wikipedia.org/wiki/VIA_Technologies . Cyrix en est une autre.Conclusions:
la plupart des entrées proviennent directement des registres de sortie CPUID et sont définies dans common.c
par quelque chose comme:
c->x86_capability[0] = edx;
Celles-ci sont faciles à trouver en lot sur le manuel Intel pour CPUID.
les autres sont dispersés dans la source et sont définis bit à bit avec set_cpu_cap
.
Pour les trouver, utilisez git grep X86_FEATURE_XXX
À l'intérieur de Arch/x86
.
Vous pouvez généralement déduire à quel bit CPUID ils correspondent du code environnant.
Autres faits amusants
Les drapeaux sont en fait imprimés à Arch/x86/kernel/cpu/proc.c
Avec le code:
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]);
Où:
cpu_has
Effectue la vérification principale de la fonctionnalité.x86_cap_flags[i]
Contient des chaînes qui correspondent à chaque indicateur.Ceci est passé en tant que rappel à la configuration système proc
. Le point d'entrée est à fs/proc/cpuinfo.c
.
Les chaînes x86_cap_flags
Sont générées par Arch/x86/kernel/cpu/mkcapflags.h
Directement à partir de Arch/x86/include/asm/cpufeature.h
En les "analysant" avec sed
...
La sortie va à Arch/x86/kernel/cpu/capflags.c
Du répertoire de construction, et le tableau résultant ressemble à:
const char * const x86_cap_flags[NCAPINTS*32] = {
[X86_FEATURE_FPU] = "fpu",
[X86_FEATURE_VME] = "vme",
ainsi, par exemple, X86_FEATURE_FPU
correspond à la chaîne "fpu"
et ainsi de suite.
cpu_has
Se décompose en deux cas avec le code:
#define cpu_has(c, bit) \
(__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \
test_cpu_cap(c, bit))
Elles sont:
__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit)
: l'indicateur est requis pour que le noyau s'exécute.
Ceci est déterminé par les données contenues dans required-features.h
, Qui commentent:
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!
Comme ceux-ci sont connus au moment de la compilation (exigences du noyau), ont déjà été vérifiés au démarrage, le contrôle peut être résolu au moment de la compilation si bit
est connu au moment de la compilation.
Ainsi la __builtin_constant_p(bit)
qui vérifie si bit
est une constante de temps de compilation.
test_cpu_cap
: Cela utilise CPUID
les données du global struct cpuinfo_x86 boot_cpu_data
Ou bien vous pouvez utiliser le programme cpuid
, il doit être dans le dépôt debian. Il affiche toutes les informations possibles sur votre processeur avec quelques explications, de sorte que vous n'obtenez pas ces drapeaux obscurs.
La meilleure réponse est la meilleure "La liste complète est dans la source du noyau, dans le fichier Arch/x86/include/asm/cpufeatures.h ." Utilisez-le et les manuels Internet/processeur pour comprendre la signification de chaque indicateur.
Ajout d'une réponse pour compléter les réponses existantes avec un exemple spécifique du serveur HP Proliant G8 Intel Xeon pour afficher la sortie lscpu et comparer lscpu/flags de cette machine en tant que VM Host et VM fonctionnant dessus. Openstack qemu-kvm est le serveur de virtualisation qui s'exécute ici.
Processeur (s): 24 vs 22
2 CPU épinglés pour le contrôleur openstack sur VM Host. 24 CPU au total. Dans VM peut voir 22 CPU disponibles).
Les fils/noyaux/supports/NUMA montrent différents. (voir ci-dessous)
Le modèle, le nom du modèle, le pas à pas, le processeur MHz, la taille du cache L2 sont différents. (voir plus ci-dessous)
sur l'hôte: modèle: 45 nom du modèle: processeur Intel (R) Xeon (R) E5-2640 0 à 2,50 GHz
sur VM: Modèle: 42 Nom du modèle: Intel Xeon E312xx (Sandy Bridge, mise à jour IBRS)
DRAPEAUX
2 drapeaux supplémentaires sur VM:
31 drapeaux manquants sur la VM:
sortie complète 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