Description of problem: We get several performance cases that end up being diagnosed with incorrect VM configuration. The most common is a VM with N vCPUs and M memory, running in a host with <N pCPUs and <M memory per numa node. It affects performance and sometimes is so bad that even other VMs and the host itself are affected due to the host struggling trying to move pages across nodes. Another idea would be for vsdm to monitor numastat and forward it to the engine once a certain threshold is crossed. The user should be notified on such cases to apply the correct configuration, or maybe even better, suggest using the new 'High Performance' VM type.
Adding a warning to the audit log when the VM starts should be simple. We can also add a policy to the scheduler so it prefers hosts, where the VM can fit to a single NUMA node.
(In reply to Andrej Krejcir from comment #2) > Adding a warning to the audit log when the VM starts should be simple. > > We can also add a policy to the scheduler so it prefers hosts, where the VM > can fit to a single NUMA node. I would go for both. Still there will be cases where a VM will span multiple NUMA nodes, so the warning should be something like "... Consider using vNUMA and NUMA pinning for this VM". Once we have HP Live migration in place the NUMA pinning should no longer prevent the migration.
The BZ verification on ovirt-release-master-4.3.0-0.1.master.20180906000056.git3e0522a.el7.noarch ===test1 host numactl -H available: 4 nodes (0-3) node 0 cpus: 0 2 node 0 size: 16349 MB node 0 free: 14036 MB node 1 cpus: 4 6 node 1 size: 8192 MB node 1 free: 6172 MB node 2 cpus: 1 3 node 2 size: 16384 MB node 2 free: 13932 MB node 3 cpus: 5 7 node 3 size: 8175 MB node 3 free: 6251 MB node distances: configure vm without NUMA nodes has memory 18432 MB. it is more than single numa node , but less than the free memory on host. warning in Events appears: "VM golden_env_mixed_virtio_0 does not fit to a single NUMA node on host host_mixed_1. This may negatively impact its performance. Consider using vNUMA and NUMA pinning for this VM." ===test2 set the new policy filter "Fit VM to single host numa node". (Administration -> Configure -> Scheduling Policies. Copy 'none' policy. In the dialog, enable weight module 'Fit VM to single host NUMA node'. two hosts: host1 - numactl -H available: 4 nodes (0-3) node 0 cpus: 0 2 node 0 size: 16349 MB node 0 free: 13684 MB node 1 cpus: 4 6 node 1 size: 8192 MB node 1 free: 5878 MB node 2 cpus: 1 3 node 2 size: 16384 MB node 2 free: 13841 MB node 3 cpus: 5 7 node 3 size: 8175 MB node 3 free: 5722 MB host2 - no numa node Run a VM without NUMA nodes with 18 GB of memory. It runs on the host without numa, even if it could fit on the host with numa.
WARN: Bug status (ON_QA) wasn't changed but the folowing should be fixed: [Found non-acked flags: '{'rhevm-4.3-ga': '?'}', ] For more info please contact: rhv-devops: Bug status (ON_QA) wasn't changed but the folowing should be fixed: [Found non-acked flags: '{'rhevm-4.3-ga': '?'}', ] For more info please contact: rhv-devops
verification - https://bugzilla.redhat.com/show_bug.cgi?id=1559694#c4
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2019:1085