← Back to team overview

openstack team mailing list archive

Re: Scheduler issues in folsom

 

On Wed, Oct 31, 2012 at 10:40:57AM +0800, Huang Zhiteng wrote:
> On Wed, Oct 31, 2012 at 10:07 AM, Vishvananda Ishaya
> <vishvananda@xxxxxxxxx> wrote:
> >
> > On Oct 30, 2012, at 7:01 PM, Huang Zhiteng <winston.d@xxxxxxxxx> wrote:
> >
> >> I'd suggest the same ratio too.  But besides memory overcommitment, I
> >> suspect this issue is also related to how KVM do memory allocation (it
> >> doesn't do actual allocation of the entire memory for guest when
> >> booting). I've seen compute node reported more memory than it should
> >> have (e.g. 4G node has two 1GB instances running but still report >3GB
> >> free memory) because libvirt driver calculates free memory simply
> >> based on /proc/meminfo, which doesn't reflect how many memory guests
> >> are intended to use.
> >
> > Ah interesting, if this is true then this is a bug we should try to fix.
> > I was under the impression that it allocated all of the memory unless
> > you were using virtio_balloon, but I haven't verified.
>
> I'm pretty sure about this.  Can anyone from RedHat confirm this is
> how KVM works?

Yes, that is correct. KVM only allocates memory when the guest actually
touches each page. For Linux guests this means that when the guest boots
up very little memory is actally allocated on the host. For Windows guests
you would typically see all memory allocated imediately, since the Windows
kernel will memset() the entire of RAM to zero on startup.

Also if you are using explicit huge pages for KVM it will allocate all
RAM upfront, but this is not the default - we use transparant/automatic
huge pages normally which still allocates on demand. Finally if you have
passed any PCI devices through to the guest, all guest RAM will be mlock()d
on the host so it can't even overcommit to swap.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|


Follow ups

References