CPU Flags VPS Server

  • Hallo,

    Habe seit einigen Jahren VPS 1000 G8. Auf dem läuft Floxlor mit zwei Webseiten. Nebenan benutze ich den Server für Testzwecke. Neulich wollte ich ein neues Projekt anfangen, doch schnell müsste ich feststellen, dass der Server nicht optimal dafür ist, da einige CPU Flags nicht unterstützt werden. Bei den RS Server sind diese Flags vorhanden. Das konnte ich schon mit Zweistündige Recherche hier im Forum herausfinden. Nur will ich nicht unbedingt gleich auf einem RS Server umstellen um ein paar Tests machen zu können. Jetzt stellt sich für mich die Frage, ob die neuere Generationen (G9, G10) andere/mehr CPU Flags zur Verfügung stellen und ob ein Update auf neuere Generation VPS sinnvoll ist?

    Wenn jemand mit größerer Generation VPS seine cpuinfo posten könnte, wäre ich sehr dankbar. Hier ist die Info von G8.

    VPS 1000 G8 - cpuinfo

    root@server:~# cat /proc/cpuinfo

    processor : 0

    vendor_id : GenuineIntel

    cpu family : 6

    model : 13

    model name : QEMU Virtual CPU version 2.5+

    stepping : 3

    microcode : 0x1

    cpu MHz : 2399.996

    cache size : 16384 KB

    physical id : 0

    siblings : 4

    core id : 0

    cpu cores : 4

    apicid : 0

    initial apicid : 0

    fpu : yes

    fpu_exception : yes

    cpuid level : 13

    wp : yes

    flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 ht syscall nx lm rep_good nopl xtopology cpuid tsc_known_freq pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave rdrand hypervisor lahf_lm abm cpuid_fault invpcid_single pti ssbd ibrs ibpb invpcid md_clear

    bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihit

    bogomips : 4799.99

    clflush size : 64

    cache_alignment : 64

    address sizes : 40 bits physical, 48 bits virtual

    power management:

  • Mein VPS 1337 (müsste G9 sein) sieht so aus:

    Spoiler anzeigen

    processor : 0

    vendor_id : AuthenticAMD

    cpu family : 6

    model : 13

    model name : QEMU Virtual CPU version 2.5+

    stepping : 3

    microcode : 0x1000065

    cpu MHz : 1996.248

    cache size : 512 KB

    physical id : 0

    siblings : 2

    core id : 0

    cpu cores : 2

    apicid : 0

    initial apicid : 0

    fpu : yes

    fpu_exception : yes

    cpuid level : 13

    wp : yes

    flags : fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm nopl cpuid tsc_known_freq pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes xsave rdrand hypervisor lahf_lm cmp_legacy abm 3dnowprefetch ssbd ibpb vmmcall arch_capabilities

    bugs : fxsave_leak sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass

    bogomips : 3992.49

    TLB size : 1024 4K pages

    clflush size : 64

    cache_alignment : 64

    address sizes : 40 bits physical, 48 bits virtual

    power management:

    Als Vergleich ein RS 2000 G9:

    Spoiler anzeigen

    processor : 0

    vendor_id : AuthenticAMD

    cpu family : 23

    model : 49

    model name : AMD EPYC 7702P 64-Core Processor

    stepping : 0

    microcode : 0x1000065

    cpu MHz : 1996.249

    cache size : 512 KB

    physical id : 0

    siblings : 4

    core id : 0

    cpu cores : 4

    apicid : 0

    initial apicid : 0

    fpu : yes

    fpu_exception : yes

    cpuid level : 16

    wp : yes

    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat umip rdpid arch_capabilities

    bugs : sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypass

    bogomips : 3992.49

    TLB size : 1024 4K pages

    clflush size : 64

    cache_alignment : 64

    address sizes : 40 bits physical, 48 bits virtual

    power management:

    Ich schiebe den Unterschied vom VPS mal nur auf die AMD CPU, aber man kann ja eh hin und her geschoben werden je nach Produkt.

  • Jetzt stellt sich für mich die Frage, ob die neuere Generationen (G9, G10) andere/mehr CPU Flags zur Verfügung stellen und ob ein Update auf neuere Generation VPS sinnvoll ist?

    Flags auf einen VPS bei Netcup:

    Code
    Flags: fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm nopl cpuid tsc_known_freq pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 x2apic popcnt aes xsave rdrand hypervisor lahf_lm cmp_legacy abm 3dnowprefetch ssbd ibpb vmmcall arch_capabilities

    Flags auf einen RS (8000 mit 3TB SSD) bei Netcup:

    Code
    Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr wbnoinvd arat umip rdpid arch_capabilities

    Flags auf einen VPS beim Mitbewerber:

    Code
    Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc art rep_good nopl nonstop_tsc extd_apicid amd_dcm aperfmperf eagerfpu pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 cpb hw_pstate ssbd rsb_ctxsw ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 retpoline_amd clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smca
  • Danke sehr an allen, die geantwortet haben.

    Vielleicht als Gegenfrage: Auf welche CPU-Flags kommt es denn hier an?

    Es geht speziell um AVX (darunter auch AVX2)

    Ich schiebe den Unterschied vom VPS mal nur auf die AMD CPU, aber man kann ja eh hin und her geschoben werden je nach Produkt.

    Das habe ich mir auch zuerst gedacht. Dann kurz überlegt: AMD unterstützt AVX auch seit 2011 - 2013. Ich selber glaube nicht, dass netcup solche alte Prozessoren im Betrieb hat. Das würde sich überhaupt nicht rentieren. Dann merkte ich heute - bei mir ist ein vendor_id : GenuineIntel notiert. Mehr denke ich, dass QEMU die Flags "abschneidet", weil z.B. es einfacher ist an das Gastsystem nur einige Flags davon weiterzuleiten als alle. Vor allem wenn die Flags Erweiterungen sind. Kenne mich mit QEMU aber nicht aus.

    Flags auf einen VPS beim Mitbewerber:

    Hier sehe ich, dass diese Flags vorhanden sind. Würde mich interessieren, ob der Mitbewerber auch QEMU version 2.5+ nutzt oder was anderes? Dann wird sich meine Theorie von eben bestätigen (oder halt widersprechen). Ich glaube nicht, dass netcup absichtlich die Flags sperrt. Ansonsten hätte ich einen Service erwartet: CPU Flags xyz für eine Summe pro Monat zusätzliche Kosten.

    Letztendlich haben mir eure Antworten sehr geholfen. Im schlimmsten Fall werde ich wohl auf einem RS Server umstellen müssen. Denn zu anderen Anbieter bin ich noch nicht bereit zu wechseln. Bin mit netcup so weit (seit 2018) sehr zufrieden.

  • Das ist prinzipiell vom CPU-Modell abhängig, das für die VM konfiguriert ist: https://qemu-project.gitlab.io/qemu/system/qemu-cpu-models.html

    Bei einer virtuellen CPU sind relativ wenig Flags standardmäßig aktiv, was historisch glaube ich daran liegt, dass sie garantiert auf jeder Hardware existieren und Live-Migrationen problemlos möglich sind. Zusätzliche Flags müssen immer erst konfiguriert werden, um verfügbar zu sein. Explizit deaktiviert hat die somit eher niemand. Dementsprechend würde ich den Support einmal fragen, ob man das Flag bei den VPS nicht generell in Betracht ziehen könnte. Mehr als eine Absage kannst Du eigentlich nicht kassieren. :)

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

    5 Mal editiert, zuletzt von KB19 (18. November 2022 um 22:30)

  • Ich kenne das aber so, dass man beim Einrichten eines KVM Clusters eine Baseline von CPU Flags aus allen Hosts zusammenzieht um dann fuer die virtuellen CPU's eine Konfiguration zu bekommen, welche die meisten "Features" unterstuetzt, aber auch mit allen Hosts kompatibel ist. Kann aber gut sein, dass Shared Hosting Betreiber das anders handhaben.

  • Wobei kann man bei den CPU-Flags einer VM eine Intel CPU vorgaukeln obwohl der Host eine AMD hat bzw. umgekehrt?

    (dürfte wahrscheinlich nur mit CPU-Features funktionieren, welche sowohl Intel als auch AMD können)

    ein Storage Server bei einem Mitbewerber

    processor : 0

    vendor_id : GenuineIntel

    cpu family : 6

    model : 85

    model name : Intel(R) Xeon(R) Silver 4214 CPU @ 2.20GHz

    stepping : 7

    microcode : 83898627

    cpu MHz : 2194.842

    cache size : 16384 KB

    physical id : 0

    siblings : 2

    core id : 0

    cpu cores : 2

    apicid : 1

    initial apicid : 1

    fpu : yes

    fpu_exception : yes

    cpuid level : 22

    wp : yes

    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good xtopology unfair_spinlock eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch arat xsaveopt invpcid_single ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase bmi1 avx2 smep bmi2 erms invpcid avx512f rdseed adx avx512cd md_clear arch_capabilities

    bogomips : 4389.68

    clflush size : 64

    cache_alignment : 64

    address sizes : 46 bits physical, 48 bits virtual

    power management:

    ein Performance Server bei einem Mitbewerber

    processor : 0

    vendor_id : GenuineIntel

    cpu family : 6

    model : 158

    model name : Intel(R) Xeon(R) E-2174G CPU @ 3.80GHz

    stepping : 10

    microcode : 222

    cpu MHz : 3792.000

    cache size : 16384 KB

    physical id : 0

    siblings : 1

    core id : 0

    cpu cores : 1

    apicid : 0

    initial apicid : 0

    fpu : yes

    fpu_exception : yes

    cpuid level : 22

    wp : yes

    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 up arch_perfmon rep_good xtopology unfair_spinlock eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch arat xsaveopt invpcid_single ssbd pti ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx md_clear arch_capabilities

    bogomips : 7584.00

    clflush size : 64

    cache_alignment : 64

    address sizes : 39 bits physical, 48 bits virtual

    power management:

    eine VM auf meinem PC (mit VMware)

    processor : 0

    vendor_id : GenuineIntel

    cpu family : 6

    model : 158

    model name : Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz

    stepping : 13

    microcode : 214

    cpu MHz : 3600.005

    cache size : 16384 KB

    physical id : 0

    siblings : 1

    core id : 0

    cpu cores : 1

    apicid : 0

    initial apicid : 0

    fpu : yes

    fpu_exception : yes

    cpuid level : 22

    wp : yes

    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 rdtscp lm constant_tsc up arch_perfmon tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 movbe popcnt aes lahf_lm 3dnowprefetch arat pti retpoline

    bogomips : 7200.01

    clflush size : 64

    cache_alignment : 64

    address sizes : 36 bits physical, 48 bits virtual

    power management:

    ein RS 500 G8

    processor : 0

    vendor_id : GenuineIntel

    cpu family : 6

    model : 79

    model name : Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz

    stepping : 1

    microcode : 1

    cpu MHz : 2397.222

    cache size : 16384 KB

    physical id : 0

    siblings : 2

    core id : 0

    cpu cores : 2

    apicid : 0

    initial apicid : 0

    fpu : yes

    fpu_exception : yes

    cpuid level : 20

    wp : yes

    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good xtopology unfair_spinlock eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch arat xsaveopt invpcid_single ssbd pti retpoline ibrs ibpb stibp fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx md_clear arch_capabilities

    bogomips : 4794.44

    clflush size : 64

    cache_alignment : 64

    address sizes : 40 bits physical, 48 bits virtual

    power management:

    ein RS 1000 G8

    processor : 0

    vendor_id : GenuineIntel

    cpu family : 6

    model : 85

    model name : Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz

    stepping : 4

    microcode : 1

    cpu MHz : 2294.592

    cache size : 16384 KB

    physical id : 0

    siblings : 2

    core id : 0

    cpu cores : 2

    apicid : 0

    initial apicid : 0

    fpu : yes

    fpu_exception : yes

    cpuid level : 22

    wp : yes

    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good xtopology unfair_spinlock eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch arat xsaveopt invpcid_single ssbd pti ibrs ibpb stibp fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm avx512f rdseed adx avx512cd md_clear arch_capabilities

    bogomips : 4589.18

    clflush size : 64

    cache_alignment : 64

    address sizes : 40 bits physical, 48 bits virtual

    power management:

    echtes Blech: mein Router

    processor : 0

    vendor_id : GenuineIntel

    cpu family : 6

    model : 76

    model name : Intel(R) Celeron(R) CPU N3150 @ 1.60GHz

    stepping : 3

    microcode : 872

    cpu MHz : 480.000

    cache size : 1024 KB

    physical id : 0

    siblings : 4

    core id : 0

    cpu cores : 4

    apicid : 0

    initial apicid : 0

    fpu : yes

    fpu_exception : yes

    cpuid level : 11

    wp : yes

    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 rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes rdrand lahf_lm 3dnowprefetch ida arat epb dtherm pti retpoline ibrs ibpb tpr_shadow vnmi flexpriority ept vpid smep erms md_clear

    bogomips : 3199.94

    clflush size : 64

    cache_alignment : 64

    address sizes : 36 bits physical, 48 bits virtual

    power management:

    (ist doch ein High-Performance-PC mit einer TDP von sagenhaften 6 Watt)

    Grüße / Greetings

    Walter H.

    RS, VPS, Webhosting - was man halt so braucht;)

    Einmal editiert, zuletzt von mainziman (20. November 2022 um 14:00)

  • Habe jetzt den Rat von kb19 befolgt und eine Anfrage bei dem Support gestellt ... und direkt 'ne Absage kassiert ^^

    Ich kann sie aber verstehen. Von einer Umstellung sind dann alle Kunden auf "einem Node" betroffen und das Risiko ist zu groß und wollen sie nicht eingehen.

    Für mich ist das Thema erledigt. Die tests werde ich woanders verlegen und wenn es produktiv geht, erst dann muss ich schauen.

    Es wird mich freuen, wenn das Thema für andere auch hilfreich ist. So können die auch sehen welchen CPU in den verschiedenen Server bei netcup eingesetzt sind. Für den durchschnittlichen Verbraucher sind die Server i.O. aber wenn es um spezifischen Sachen geht wie das hier, ist die Info nicht so leicht zu bekommen bevor man einen Server bestellt hat.