Performance Optimization

From Looking Glass
Jump to navigation Jump to search

After the initial creation of your Virtual Machine there are a number of performance tweaks you can make to your Guest's .XML file and/or the Host system to greatly increase the Guest's performance.

hugepages

Hugepages are a function that lets the system kernel use larger pages when reading or writing information to memory (RAM). When this is enabled and the Guest is configured to use them the performance can be greatly increased. How to enable Hugepages depends on your GNU/Linux distribution.

Note: When hugepages are configured this portion of memory is taken away from the Host. This means the Host will no longer be able to use it. Keep this in mind.

Debain (Ubuntu/Mint/Lubuntu/PopOS/etc)

First check if Linux isn't already using Hugepages with: cat /proc/meminfo | grep Huge. If the output resembles the following:

AnonHugePages:       2048 kB
ShmemHugePages:         0 kB
HugePages_Total:        0
HugePages_Free:         0
HugePages_Rsvd:         0
HugePages_Surp:         0
Hugepagesize:        2048 kB
Hugetlb:                0 kB

then Hugepages aren't enabled.

To enable Hugepages first check /etc/sysctl.conf for the following entries:

vm.nr_hugepages=
vm.hugetlb_shm_group=

The general rule of thumb is 1 Hugepage for ever 2MB of of RAM to be passed through:

vm.nr_hugepages=8192
vm.hugetlb_shm_group=48

The above example will pass-through approx 16GB to the VM.

hyperv

vcpupin