[openstack-dev] [nova] Running large instances with CPU pinning and OOM

Chris Friesen chris.friesen at windriver.com
Thu Sep 28 14:45:40 UTC 2017


On 09/28/2017 05:29 AM, Sahid Orentino Ferdjaoui wrote:

> Only the memory mapped for the guest is striclty allocated from the
> NUMA node selected. The QEMU overhead should float on the host NUMA
> nodes. So it seems that the "reserved_host_memory_mb" is enough.

What I see in the code/docs doesn't match that, but it's entirely possible I'm 
missing something.

nova uses LibvirtConfigGuestNUMATuneMemory with a mode of "strict" and a nodeset 
of "the host NUMA nodes used by a guest".

For a guest with single NUMA node, I think this would map to libvirt XML of 
something like

   <numatune>
     <memory mode="strict" nodeset="1"/>
   </numatune>

The docs at https://libvirt.org/formatdomain.html#elementsNUMATuning say, "The 
optional memory element specifies how to allocate memory for the domain process 
on a NUMA host."

That seems to me that the qemu overhead would be NUMA-affined, no?  (If you had 
a multi-NUMA-node guest, then the qemu overhead would float across all the NUMA 
nodes used by the guest.)

Chris



More information about the OpenStack-dev mailing list