Installation guide

KVM networking performance
309
2. Enabling the virtualization extensions in BIOS
Note: BIOS steps
Many of the steps below may vary depending on your motherboard, processor type, chipset
and OEM. Refer to your system's accompanying documentation for the correct information
on configuring your system.
a. Open the Processor submenu The processor settings menu may be hidden in the Chipset,
Advanced CPU Configuration or Northbridge.
b. Enable Intel Virtualization Technology (also known as Intel VT). AMD-V extensions cannot
be disabled in the BIOS and should already be enabled. The virtualization extensions may be
labeled Virtualization Extensions, Vanderpool or various other names depending on the
OEM and system BIOS.
c. Enable Intel VTd or AMD IOMMU, if the options are available. Intel VTd and AMD IOMMU
are used for PCI passthrough.
d. Select Save & Exit.
3. Reboot the machine.
4. When the machine has booted, run cat /proc/cpuinfo | grep vmx svm. If the command
outputs, the virtualization extensions are now enabled. If there is no output your system may not
have the virtualization extensions or the correct BIOS setting enabled.
34.8. KVM networking performance
By default, KVM virtual machines are assigned a virtual Realtek 8139 (rtl8139) NIC (network interface
controller).
The rtl8139 virtualized NIC works fine in most environments. However, this device can suffer from
performance degradation problems on some networks, for example, a 10 Gigabit Ethernet network.
To improve performance switch to the para-virtualized network driver.
Note
Note that the virtualized Intel PRO/1000 (e1000) driver is also supported as an emulated driver
choice. To use the e1000 driver, replace virtio in the procedure below with e1000. For the
best performance it is recommended to use the virtio driver.
Procedure 34.2. Switching to the virtio driver
1. Shutdown the guest operating system.
2. Edit the guest's configuration file with the virsh command (where GUEST is the guest's name):
# virsh edit GUEST
The virsh edit command uses the $EDITOR shell variable to determine which editor to use.