// Poradnik techniczny // CPU · QEMU/KVM

Wybór typu CPU w Proxmox:
QEMU vs host vs x86-64-v4

Ustawienie typu procesora wirtualnego (vCPU) w Proxmox VE to jeden z najczęściej źle dobranych parametrów. Wpływa jednocześnie na wydajność, dostępność instrukcji (AVX-512, AES-NI) oraz możliwość migracji na żywo między hostami. Wyjaśniamy, co naprawdę robią poszczególne modele.

// 01 · Czym jest „typ CPU”

Wirtualny CPU to kontrakt instrukcji

QEMU/KVM nie emuluje procesora — maszyna wirtualna wykonuje instrukcje bezpośrednio na fizycznym rdzeniu (sprzętowa wirtualizacja Intel VT-x / AMD-V). „Typ CPU” w konfiguracji VM decyduje wyłącznie o tym, jaki zestaw cech (CPU flags) i jaką nazwę modelu hypervisor prezentuje gościowi przez instrukcję CPUID.

To rozróżnienie jest kluczowe: gość widzi i może użyć tylko tych instrukcji, które zostały mu zadeklarowane. Jeśli zadeklarujemy zbyt mało — tracimy wydajność (brak AVX, AES-NI). Jeśli zadeklarujemy więcej niż realnie ma host docelowy — migracja na żywo się nie powiedzie albo gość wywróci się przy próbie użycia brakującej instrukcji.

ℹ️

W Proxmox typ CPU ustawiasz per-VM: VM → Hardware → Processors → Type, lub w CLI qm set <vmid> --cpu <model>.

// 02 · Główne modele

Porównanie typów vCPU

Typ CPUCo prezentuje gościowiMigracja na żywoWydajność
kvm64 / qemu64Bazowy model bezpieczny — minimalny zestaw flag (bez AVX, często bez AES-NI)Najszersza (każdy host)Najniższa
x86-64-v2-AESSSE4.2, POPCNT, AES-NI — poziom typowy dla serwerów po ~2013 r.Bardzo szerokaDobra dla większości
x86-64-v3AVX, AVX2, BMI1/2, FMA — Haswell/Zen 1 i nowszeKlaster z CPU ≥ tego poziomuWysoka
x86-64-v4AVX-512 (F/BW/DQ/VL) — Skylake-SP, Zen 4/5Tylko jednorodny klaster v4Najwyższa (przy AVX-512)
host1:1 wszystkie flagi fizycznego CPU hostaTylko identyczne CPUMaksymalna (natywna)

Modele x86-64-v2/v3/v4 to ustandaryzowane poziomy mikroarchitektury (psABI), niezależne od producenta. Dzięki temu klaster Intel+AMD może bezpiecznie migrować VM, o ile wszystkie węzły spełniają dany poziom.

// 03 · host vs reszta

Kiedy host, a kiedy poziom vX

Typ host przekazuje gościowi pełny zestaw instrukcji fizycznego procesora — to najwydajniejsza opcja, idealna gdy VM nigdy nie będzie migrowana na żywo lub gdy cały klaster ma identyczne CPU. Tracisz jednak przenośność: migracja na żywo na host z innym (starszym) CPU jest zablokowana.

  • Wybierz host: klaster z jednakowymi serwerami, obciążenia HPC/AI, bazy danych korzystające z AVX-512, brak wymogu migracji na żywo między różnymi generacjami.
  • Wybierz x86-64-v3: rozsądny domyślny wybór dla mieszanego, nowoczesnego klastra — daje AVX2 i zachowuje migrację na żywo.
  • Wybierz x86-64-v4: jednorodny klaster Zen 4/5 lub Xeon SP, gdzie zależy Ci na AVX-512 przy zachowaniu migracji w obrębie tego poziomu.
  • Unikaj kvm64 w produkcji: brak AES-NI i AVX potrafi spowolnić szyfrowanie i obliczenia o rzędy wielkości.
⚠️

Pułapka migracji: jeśli VM wystartowała z typem host na nowym EPYC, nie zmigrujesz jej na żywo na starszy węzeł — gość „widzi” instrukcje, których docelowy CPU nie ma. Dla mieszanych klastrów ustaw najniższy wspólny poziom (np. v3).

// 04 · AVX-512 i bazy danych

Dlaczego flagi mają znaczenie

Nowoczesne obciążenia realnie korzystają z rozszerzeń wektorowych: PostgreSQL i silniki kolumnowe przyspieszają na AVX2/AVX-512, biblioteki AI (oneDNN, OpenBLAS) wykrywają AVX-512 w runtime, a szyfrowanie TLS/dysków bez AES-NI obciąża CPU wielokrotnie bardziej. Ukrycie tych flag (np. przez kvm64) sprawia, że oprogramowanie wybiera wolne ścieżki kodu.

Z drugiej strony AVX-512 bywa „kosztowne” — intensywne instrukcje mogą obniżyć takt (frequency offset). Dla baz licencjonowanych per-core (Oracle EE, MS SQL Enterprise) liczy się wysoki, stabilny zegar — stąd dobieramy EPYC 9175F z typem host na dedykowanych węzłach, by oddać gościowi pełnię możliwości CPU.

💡

Nasza rekomendacja domyślna: dla typowego mieszanego klastra Proxmox ustaw x86-64-v3 (AVX2 + zachowana migracja). Dla jednorodnych, wydajnościowych węzłów — host lub x86-64-v4.

Zaprojektujemy Twój klaster Proxmox

Dobierzemy typy CPU, poziomy mikroarchitektury i topologię węzłów pod Twoje obciążenia — z zachowaniem migracji na żywo tam, gdzie jej potrzebujesz.

⚡ Bezpłatna konsultacja → Kontenery LXC w Proxmox
// Technical guide // CPU · QEMU/KVM

Choosing a CPU type in Proxmox:
QEMU vs host vs x86-64-v4

The virtual CPU (vCPU) type in Proxmox VE is one of the most frequently misconfigured settings. It simultaneously affects performance, instruction availability (AVX-512, AES-NI) and the ability to live-migrate between hosts. Here's what each model actually does.

// 01 · What "CPU type" means

A virtual CPU is an instruction contract

QEMU/KVM does not emulate a processor — the VM executes instructions directly on a physical core (hardware virtualisation via Intel VT-x / AMD-V). The "CPU type" in the VM config only decides which feature set (CPU flags) and which model name the hypervisor presents to the guest via the CPUID instruction.

This distinction is critical: the guest can only use the instructions it has been told about. Declare too few and you lose performance (no AVX, no AES-NI). Declare more than the target host actually has and live migration fails — or the guest crashes when it tries to use a missing instruction.

ℹ️

In Proxmox you set the CPU type per VM: VM → Hardware → Processors → Type, or via CLI qm set <vmid> --cpu <model>.

// 02 · The main models

Comparing vCPU types

CPU typeWhat it exposes to the guestLive migrationPerformance
kvm64 / qemu64Safe baseline — minimal flag set (no AVX, often no AES-NI)Widest (any host)Lowest
x86-64-v2-AESSSE4.2, POPCNT, AES-NI — typical for servers after ~2013Very wideGood for most
x86-64-v3AVX, AVX2, BMI1/2, FMA — Haswell/Zen 1 and newerCluster with CPUs ≥ this levelHigh
x86-64-v4AVX-512 (F/BW/DQ/VL) — Skylake-SP, Zen 4/5Homogeneous v4 cluster onlyHighest (with AVX-512)
host1:1 all flags of the physical host CPUIdentical CPUs onlyMaximum (native)

The x86-64-v2/v3/v4 models are standardised microarchitecture levels (psABI), independent of vendor. This lets a mixed Intel+AMD cluster migrate VMs safely as long as every node meets the level.

// 03 · host vs the rest

When to use host, when a vX level

The host type passes the full instruction set of the physical CPU to the guest — the fastest option, ideal when a VM will never be live-migrated or when the entire cluster has identical CPUs. The trade-off is portability: live migration to a host with a different (older) CPU is blocked.

  • Choose host: cluster of identical servers, HPC/AI workloads, databases leveraging AVX-512, no requirement for live migration across generations.
  • Choose x86-64-v3: a sensible default for a modern mixed cluster — gives AVX2 and preserves live migration.
  • Choose x86-64-v4: a homogeneous Zen 4/5 or Xeon SP cluster where you want AVX-512 while keeping migration within that level.
  • Avoid kvm64 in production: missing AES-NI and AVX can slow encryption and compute by orders of magnitude.
⚠️

Migration pitfall: if a VM started with the host type on a new EPYC, you cannot live-migrate it to an older node — the guest "sees" instructions the target CPU lacks. For mixed clusters, set the lowest common level (e.g. v3).

// 04 · AVX-512 and databases

Why flags matter

Modern workloads genuinely use vector extensions: PostgreSQL and columnar engines accelerate with AVX2/AVX-512, AI libraries (oneDNN, OpenBLAS) detect AVX-512 at runtime, and TLS/disk encryption without AES-NI taxes the CPU many times harder. Hiding these flags (e.g. via kvm64) forces software onto slow code paths.

On the other hand, AVX-512 can be "expensive" — heavy instructions may lower clock speed (frequency offset). For per-core licensed databases (Oracle EE, MS SQL Enterprise) a high, stable clock matters most — which is why we pair the EPYC 9175F with the host type on dedicated nodes to give the guest the CPU's full capabilities.

💡

Our default recommendation: for a typical mixed Proxmox cluster, set x86-64-v3 (AVX2 + preserved migration). For homogeneous, performance nodes — host or x86-64-v4.

We'll design your Proxmox cluster

We'll select CPU types, microarchitecture levels and node topology for your workloads — preserving live migration where you need it.

⚡ Free consultation → LXC containers in Proxmox