Memory backings in Linux Virtualization

Background When diving into high-performance virtualization, memory is often an area of focus. In this article, I will attempt to explain simply why memory is a concern, and the various ways that are available to you to fix it. This way, you may pick which solution fits your needs. Memory management is a key responsibility of your operating system (OS). Your OS takes the memory in your system and divides it up into pages. [Read More]

Libvirt Parameters

When browsing through other peoples' setups, you’ll find a huge range of flags people set. Here’s a list of what I find important, along with what they do. The table on contents will be organized by levels to represent where each config option should go. Note that there are many more flags to explore, should you be so inclined1. domain memory currentMemory memoryBacking hugepages Specifying huge pages cputune os features acpi apic hyperv relaxed vapic spinlocks vpindex runtime synic stimer reset vendor_id frequencies reenlightenment tlbflush kvm hidden vmport ipapic cpu topology feature Here’s the libvirt XML reference for some light reading ↩︎ [Read More]

Libvirt/QEMU reference guide

Background Over the past few months I’ve gotten into experimenting with PCI Passthrough using Linux virtualization. The basic premise is that, instead of dual-booting Linux with Windows for gaming, we can run Windows in a VM and passthrough necessary hardware (storage, graphics card) to achieve near-native performance. I’ve learned a lot from this experimentation. There are lots of helpful people in this community, but there are also a lot of differing configurations and no one place to look all of the various settings up. [Read More]