Skip to content
Kernel boot flags sorted into a host column and a guest column

Two Boot Lines — Which Kernel Flags Belong on a Proxmox Host, and Which Belong in the Guest

Most Proxmox tuning lines you find online are one blob of kernel flags. Half of them belong on the hypervisor, half belong inside the guest, two of the popular ones do nothing at all, and a few change meaning depending on which side of the boundary they land.

7th August 2026 Â· 14 min Â· 2953 words Â· Damien Dye
An emulated NVMe controller beside a VirtIO SCSI path, with Proxmox unable to see the former

A Virtual NVMe Device in Proxmox — and the Three Things You Give Up

QEMU can emulate a real NVMe controller, so the guest uses its own in-box NVMe driver with no VirtIO media required. It is also unmigratable by design, invisible to Proxmox backups, and no faster than VirtIO SCSI. Here is how to add one and when it is worth it.

7th August 2026 Â· 10 min Â· 2025 words Â· Damien Dye
A guest clock drifting away from the host clock, and a hypercall pulling it back

A VM's Clock Cannot Be Trusted — and the ptp_kvm Fix for QEMU/KVM

A virtual machine’s clock is built on an assumption virtualisation breaks: that the CPU keeps counting. Why guest time drifts on every hypervisor, what the skew actually breaks — Kerberos, TLS, Ceph, Windows — and how ptp_kvm fixes it properly on QEMU/KVM.

7th August 2026 Â· 14 min Â· 2897 words Â· Damien Dye
A curve rising from 36 percent of bare metal at queue depth 1 to within a few percent by queue depth 32

PCIe Passthrough Performance on Proxmox VE — The IOMMU Tax and How to Minimise It

Why PCIe devices lose throughput when passed through to a VM via VFIO, and the practical tuning steps that claw most of it back.

7th August 2026 Â· 19 min Â· 3994 words Â· Damien Dye
Two CPU sockets with a DMA path crossing the inter-socket link between them

NUMA Alignment on Proxmox VE — Why It Matters and How to Get It Right

On multi-socket systems, a VM with its vCPUs on one NUMA node and its passed-through device on another loses 20–30% throughput before you’ve even looked at anything else.

7th August 2026 Â· 9 min Â· 1758 words Â· Damien Dye
A latency-percentile curve that stays flat to p90 then climbs steeply, beside one that stays flat

PCIe ASPM and Why You Should Disable It for Passthrough

Active State Power Management saves a few watts on idle PCIe links. Under VFIO passthrough, it adds latency jitter that’s hard to diagnose and easy to fix.

7th August 2026 Â· 8 min Â· 1661 words Â· Damien Dye
The same 4 KB payload drawn as 32 packets at MPS 128 and 8 packets at MPS 512

PCIe MaxPayloadSize — A Free Performance Win for Passthrough

QEMU’s virtual root complex defaults to 128-byte TLP payloads. Most devices support 256 or 512. One kernel parameter fixes it.

7th August 2026 Â· 7 min Â· 1400 words Â· Damien Dye
A flat 1996-era PCI bus beside a 2007-era PCIe root complex

Always Use Q35, Not i440fx — Why It Matters on Proxmox VE

The two QEMU virtual chipsets are not interchangeable. Q35 provides a proper PCIe topology that passthrough, modern Windows, and the wider KVM ecosystem all depend on.

7th August 2026 Â· 11 min Â· 2245 words Â· Damien Dye