24.6. Improving guest response time
Virtualized guests can sometimes be slow to respond with certain workloads and usage patterns. Examples of situations which may cause slow or unresponsive guests:
-
Severely overcommitted memory.
-
Overcommitted memory with high processor usage
-
Other (not qemu-kvm
processes) busy or stalled processes on the host.
These types of workload may cause guests to appear slow or unresponsive. Usually, the guests memory is eventually fully loaded from swap into the hosts main memory. Once the guest is loaded in main memory, the guest will preform normally. Note, the process of loading a guest from swap to main memory may take several seconds per gigabyte of RAM assigned to the guest depending on the type of storage used for swap and the performance of the components.
KVM virtualized guests function as Linux processes. Linux processes are not permanently kept in main memory (physical RAM). The kernel scheduler swaps process memory into virtual memory (swap). Swap, with conventional hard disk drives, is thousands of times slower than main memory in modern computers. If a guest is inactive for long periods of time, the guest may be placed into swap by the kernel.
KVM virtualized guests processes may be moved to swap regardless of whether memory is overcommitted or overall memory usage.
Using unsafe overcommit levels or overcommitting with swap turned off guest processes or other critical processes may be killed by the pdflush
kernel function. pdflush
automatically kills processes to keep the system from crashing and to free up memory. Always ensure the host has sufficient swap space when overcommitting memory.
Virtual memory allows Linux system to use more memory than there is physical RAM on the system. Underused processes are swapped out which allows active processes to use memory, improving memory utilization. Disabling swap reduces memory utilization as all processes are stored in physical RAM.
If swap is turned off, do not overcommit guests. Overcommitting guests without any swap can cause guests or the host system to crash.
Swap usage can be completely turned off to prevent guests from being unresponsive while they are moved back to main memory. This may improve performance but will expose the system to certain risks.
The swapoff
command can disable all swap partitions and swap files on a system.
# swapoff -a
To make this change permanent, remove swap
lines from the /etc/fstab
file and restart the host system.
Using Solid State Drives (SSDs) for swap storage may improve the performance of virtualized guests.
Using RAID arrays, faster disks or separate drives dedicated to swap may also improve performance.