From 18c398e7088f44f54cb82305c23294fd8e9a1ef8 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Wed, 13 Apr 2022 22:48:27 +0200 Subject: [PATCH] virtualisation speed tips --- docs/faq.rst | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/faq.rst b/docs/faq.rst index cc464aa1d..14c320a59 100644 --- a/docs/faq.rst +++ b/docs/faq.rst @@ -989,6 +989,22 @@ Then you do the backup and look at the log output: You can use the ``stat`` command on files to manually look at fs metadata to debug if there is any unexpected change triggering the ``M`` status. +When borg runs inside a virtual machine, there are some more things to look at: + +Some hypervisors (e.g. kvm on proxmox) give some broadly compatible CPU type to the +VM (usually to ease migration between VM hosts of potentially different hardware CPUs). + +It is broadly compatible because they leave away modern CPU features that could be +not present in older or other CPUs, e.g. hardware acceleration for AES crypto, for +sha2 hashes, for (P)CLMUL(QDQ) computations useful for crc32. + +So, basically you pay for compatibility with bad performance. If you prefer better +performance, you should try to expose the host CPU's misc. hw acceleration features +to the VM which runs borg. + +On Linux, check ``/proc/cpuinfo`` for the CPU flags inside the VM. +For kvm check the docs about "Host model" and "Host passthrough". + See also the next few FAQ entries for more details. .. _a_status_oddity: