Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Choose a Proxmox VM CPU type based on the CPU features the guest needs and the capabilities of every node where the VM may run. Use host when migration compatibility is not a concern or the cluster nodes have matching CPUs; use a compatible generic model when nodes differ or may change. Treat NUMA as a way to describe CPU and memory topology and placement—not as a setting that automatically improves performance.
What the CPU type controls
The CPU type determines which processor model and features Proxmox presents to the guest. With host, the guest sees the host CPU’s feature set. A generic model exposes a defined compatibility baseline instead, which can make a VM more portable across different processors.
That choice affects more than performance tuning: it sets a compatibility requirement. Every destination node must support the features exposed to the VM. If it does not, migration or starting the VM there can fail. Proxmox frames the goal as matching the underlying hardware closely while still allowing live migration; see the Proxmox VE migration guidance.
Choose a CPU model for the cluster
| Situation | CPU type approach | Trade-off |
|---|---|---|
| One node, or matching CPUs across the cluster | host |
Exposes the host CPU’s features. Proxmox presents this as suitable when live migration is not a concern or cluster CPUs match; migration destinations must support those features. |
| Different CPU models, or planned cluster expansion | A generic x86-64-v<X> model supported by all intended destinations |
Provides a compatibility baseline across nodes, potentially exposing fewer host-specific features than host. |
| A specific set of guest-visible features is required | A custom CPU model with selected flags | Offers control over flags, but does not make unsupported features available on a destination host. |
For mixed hardware, choose against the least-featured node that the VM is expected to reach, not the newest server. Check the available model names and constraints in the documentation for your installed Proxmox release: model availability and defaults can change over time. Proxmox’s migration guidance recommends generic x86-64-v<X> models when CPU models differ or a cluster may later include different CPUs.
#1 Best Overall
When host makes sense
Choose host when you want the guest to see the host’s CPU feature set and can accept the resulting portability constraint. It is a reasonable fit for a standalone server or a cluster whose relevant nodes have the same CPU model. If the cluster will grow or its hardware may change, revisit the choice before relying on migration to new nodes.
When to use a generic model
For a mixed-CPU cluster, identify every node the VM may run on and select a generic model supported by all of them. This trades some host-specific feature exposure for a more consistent guest CPU interface. Confirm the model against the oldest or least-featured intended destination and the documentation for your Proxmox version.
When to use a custom CPU model
A custom model can define CPU flags to expose or suppress selected features. Use it only when you have a concrete guest requirement and have verified that the flags are supported on every possible destination. Follow the restrictions documented for your installed release in Proxmox’s custom CPU model reference; a custom definition does not remove the need to check migration compatibility.
What NUMA settings describe
NUMA settings describe how the VM’s CPU and memory topology relates to host nodes and memory placement. Proxmox’s qm interface documents a VM-level numa enablement setting and per-node numa[n] fields for CPUs, host nodes, memory, and policy. Documented policies include preferred, bind, and interleave. See the Proxmox qm reference for the release-specific options.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsThese controls let an administrator express topology and memory placement; they do not determine the right mapping on their own. The appropriate configuration depends on the physical host’s NUMA layout, the VM’s vCPU and memory allocation, guest operating-system behavior, and workload. The official configuration reference documents the controls, but does not establish a universal NUMA setting or a workload-independent speedup.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Decide whether to enable or tune NUMA
- Start with the host topology. Establish how the server’s CPUs and memory are divided into NUMA nodes before setting guest topology or host-node placement.
- Account for the VM allocation. Consider its vCPU count and memory size alongside the host layout; do not assume a one-to-one mapping without checking both.
- Consider guest behavior and workload. Whether a guest benefits from a particular topology depends on how its operating system and workload use CPU and memory.
- Compare measured behavior. If performance is the reason for changing NUMA settings, compare the actual workload under the relevant configurations. The documentation cited here does not provide a general benchmark or universally valid socket-to-host-node recipe.
In the qm configuration, numa controls VM-level enablement, while numa[n] describes a NUMA node’s CPU assignment, host nodes, memory, and policy. Consult the installed version’s command reference for exact syntax and defaults rather than assuming they are identical across releases.
Quick Recap
Best Value
Rank #4
Check migration compatibility before committing
- List the VM’s possible destinations. Include nodes it may move to now and nodes planned for future cluster expansion.
- Check the exposed CPU features. For
hostor a custom model, confirm every destination supports the features the guest will see. For a generic model, verify that the model is available and compatible across those targets. - Set NUMA only with topology in view. Review the host’s NUMA layout, VM vCPU and memory allocation, and guest behavior before specifying per-node CPU, host-node, memory, or policy values.
- Validate changes against the installed release. Use the current Proxmox documentation for the relevant CPU model names, custom-model constraints, and
qmoptions.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

