From 1e6b30b55632b0140c8feb4b5cfca440b148cae7 Mon Sep 17 00:00:00 2001 From: Daniel Bowder Date: Thu, 30 Jun 2022 17:09:46 -0700 Subject: [PATCH] fix #3593: add affinity to docs Added affinity to the resource limiting info in qm.adoc. Added affinity to the qemu conf spec in qm.conf.5-opts.adoc. Signed-off-by: Daniel Bowder --- qm.adoc | 15 +++++++++++++++ qm.conf.5-opts.adoc | 4 ++++ 2 files changed, 19 insertions(+) diff --git a/qm.adoc b/qm.adoc index 4d0c7c4..3722726 100644 --- a/qm.adoc +++ b/qm.adoc @@ -328,6 +328,21 @@ For more information see `man systemd.resource-control`, here `CPUQuota` corresponds to `cpulimit` and `CPUShares` corresponds to our `cpuunits` setting, visit its Notes section for references and implementation details. +The third CPU resource limiting setting, *affinity*, controls what host cores +the virtual machine will be permitted to execute on. E.g., if an affinity value +of `0-3,8-11` is provided, the virtual machine will be restricted to using the +host cores `0,1,2,3,8,9,10,` and `11`. Valid *affinity* values are written in +cpuset `List Format`. List Format is a comma-separated list of CPU numbers and +ranges of numbers, in ASCII decimal. + +NOTE: CPU *affinity* uses the `taskset` command to restrict virtual machines to +a given set of cores. This restriction will not take effect for some types of +processes that may be created for IO. *CPU affinity is not a security feature.* + +For more information regarding *affinity* see `man cpuset`. Here the +`List Format` corresponds to valid *affinity* values. Visit its `Formats` +section for more examples. + CPU Type ^^^^^^^^ diff --git a/qm.conf.5-opts.adoc b/qm.conf.5-opts.adoc index a56dc5d..e46b4c2 100644 --- a/qm.conf.5-opts.adoc +++ b/qm.conf.5-opts.adoc @@ -155,6 +155,10 @@ Limit of CPU usage. + NOTE: If the computer has 2 CPUs, it has total of '2' CPU time. Value '0' indicates no CPU limit. +`affinity`: ``:: + +Set of CPU cores to pin the virtual machine processes to. This is a comma sepparated list of numbers or ranges in list format as defined by the Linux man page for cpuset. ( e.g `0,4-6,9` ) + `cpuunits`: ` (1 - 262144)` ('default =' `cgroup v1: 1024, cgroup v2: 100`):: CPU weight for a VM. Argument is used in the kernel fair scheduler. The larger the number is, the more CPU time this VM gets. Number is relative to weights of all the other running VMs.