Dennis Jacobfeuerborn
2015-Jan-16 12:33 UTC
[libvirt-users] Guests using more ram than specified
Hi, today I noticed that one of my HVs started swapping aggressively and noticed that the two guests running on it use quite a bit more ram than I assigned to them. They respectively were assigned 124G and 60G with the idea that the 192G system then has 8G for other purposes. In top I see the VMs using about 128G and 64G which means there is nothing left for the system. This is on a CentOS 7 system. Any ideas what causes this or how I can calculate the actual maximum amount of RAM I can assign to the guests on a HV without overcommitting RAM? Regards, Dennis
Michal Privoznik
2015-Jan-16 14:14 UTC
Re: [libvirt-users] Guests using more ram than specified
On 16.01.2015 13:33, Dennis Jacobfeuerborn wrote:> Hi, > today I noticed that one of my HVs started swapping aggressively and > noticed that the two guests running on it use quite a bit more ram than > I assigned to them. They respectively were assigned 124G and 60G with > the idea that the 192G system then has 8G for other purposes. In top I > see the VMs using about 128G and 64G which means there is nothing left > for the system. This is on a CentOS 7 system. > Any ideas what causes this or how I can calculate the actual maximum > amount of RAM I can assign to the guests on a HV without overcommitting RAM?Well, this is an undecidable problem. One thing that may help is to use hugepages to back the memory for your guests. Because if you use the ordinary system pages, the translation table for ~200G is gonna be gigantic. Remember, that the table is counted in for memory usage. Then, qemu itself consume some memory besides guest memory. How much? Nobody is able to tell. Michal
Dennis Jacobfeuerborn
2015-Jan-17 00:00 UTC
Re: [libvirt-users] Guests using more ram than specified
On 16.01.2015 15:14, Michal Privoznik wrote:> On 16.01.2015 13:33, Dennis Jacobfeuerborn wrote: >> Hi, >> today I noticed that one of my HVs started swapping aggressively and >> noticed that the two guests running on it use quite a bit more ram than >> I assigned to them. They respectively were assigned 124G and 60G with >> the idea that the 192G system then has 8G for other purposes. In top I >> see the VMs using about 128G and 64G which means there is nothing left >> for the system. This is on a CentOS 7 system. >> Any ideas what causes this or how I can calculate the actual maximum >> amount of RAM I can assign to the guests on a HV without overcommitting RAM? > > Well, this is an undecidable problem. > One thing that may help is to use hugepages to back the memory for your > guests. Because if you use the ordinary system pages, the translation > table for ~200G is gonna be gigantic. Remember, that the table is > counted in for memory usage.According to the system information the qemu process uses transparent hugepages and most of the Memory for a VM is reported under AnonHugePages so that looks ok.> Then, qemu itself consume some memory besides guest memory. How much? > Nobody is able to tell.Yes, and that worries me. The recommendation is not to over-commit memory but if the System uses specified RAM + X and X is unknown and can be tens of Gigabytes then I don't even know how to not over-commit the system. I already reserved 8G for overhead but that doesn't seem to be enough an now I don't know how to even calculate safe values for the guests. One of the HVs actually crashed and rebooted itself. Not a pretty picture. Regards, Dennis