Virtualization Settings

The Virtualization Settings category optimizes Proxmox VE for enhanced virtualization performance, compatibility, and functionality.

Available Optimizations

1
Enable VFIO IOMMU Support

This setting enables IOMMU (Input-Output Memory Management Unit) and configures VFIO (Virtual Function I/O) for PCI passthrough, allowing direct assignment of PCI devices to virtual machines.

Why it's beneficial:Enables near-native performance for PCI devices, such as GPUs or network cards, by allowing direct access from VMs. This is essential forGPU acceleration, low-latency networking, and high-performance workloads, reducing hypervisor overhead and improving efficiency.

This adjustment automates the following commands:


# For Intel CPUs
echo "intel_iommu=on" | sudo tee -a /etc/default/grub
# For AMD CPUs
echo "amd_iommu=on" | sudo tee -a /etc/default/grub

echo "vfio vfio_iommu_type1 vfio_pci vfio_virqfd" | sudo tee -a /etc/modules

sudo update-grub
sudo update-initramfs -u -k all
      

2
Install Relevant Guest Agent

This optimization installs the appropriate guest agent based on the virtualization environment.

Why it's beneficial:Enhances host-guest integration by enabling graceful shutdown, file sharing, performance monitoring, and better resource allocation. This improves VM management and overall system efficiency.

This adjustment automates the following commands:


# For QEMU/KVM VMs
sudo apt-get install -y qemu-guest-agent

# For VMware VMs
sudo apt-get install -y open-vm-tools

# For VirtualBox VMs
sudo apt-get install -y virtualbox-guest-utils
      

3
Configure KSM (Kernel Samepage Merging)

This setting enables and configures KSM to optimize memory usage by sharing identical memory pages across multiple virtual machines.

Why it's beneficial:Reduces RAM consumption in environments with similar VMs, allowing for higher VM density on a single host. This is particularly useful for systems running multiple instances of the same OS or application, improving memory efficiency and overall performance.

This adjustment automates the following commands:


sudo apt-get install -y ksm-control-daemon

echo "KSM_ENABLED=1" | sudo tee -a /etc/default/ksm
echo "KSM_SLEEP_MSEC=100" | sudo tee -a /etc/default/ksm

sudo systemctl enable ksm
sudo systemctl start ksm
      

Automatic Application

All of these optimizations are automatically applied when selected in the Virtualization section. This automation ensures that these beneficial settings are applied consistently and correctly, saving time and reducing the potential for human error during manual configuration.