[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-users] 'xl reboot domid' ignores all in-memory changes AND the domu's config file changes


  • To: xen-users@xxxxxxxxxxxxx
  • From: "Austin S. Hemmelgarn" <ahferroin7@xxxxxxxxx>
  • Date: Wed, 21 Sep 2016 08:33:08 -0400
  • Delivery-date: Wed, 21 Sep 2016 12:33:27 +0000
  • List-id: Xen user discussion <xen-users.lists.xen.org>

On 2016-09-21 08:13, Simon Hobson wrote:
I wrote:

When you do a live memory change, you are **NOT** changing the guest config. 
You're sending a message to the guest to use the balloon driver to release 
memory (the memory is still there but the guest is tricked into not using it so 
it can be re-allocated elsewhere), so if you reboot then the system is starting 
afresh and will use all the memory it sees available.

To expand on that ...
The guest still has the full amount of memory allocated to it - so if you 
started with 2G or RAM, it's still got 2G of RAM even after issuing your memset 
command to turn it down to 1G. All that's happened is that the ballon driver 
has demanded that the guest OS allocated 1G to it (it's a real memory hog !) - 
and when that memory is allocated, the ballon driver can hand it back to the 
host.

Note that you can configure a guest with two memory values - a maximum it can 
have (what the guest gets to see as the installed memory) and what it should 
start with (a lower value, with the ballon driver taking care of eating up the 
difference).


The key thing is to realise that when you change the memory in a running guest, 
you are **NOT** hot-plugging memory in/out of the system. I vaguely recall talk 
of such a facility, but I don't know if it's implemented. *Adding* memory to a 
guest by hotplugging is relatively easy - just add it and trigger whatever 
signals the guest needs in order to use it - IIRC that is supported in at least 
some OSs. Unplugging memory is a bit harder as you need OS tools to physically 
stop using it before you unplug it.
xl mem-max is what you're thinking of probably, it lets you adjust the max-mem value dynamically, although the OS has to have hotplug support in the Xen balloon driver (I think most Linux distros do, but I'm not certain as I run custom kernels for all my Linux VM's). Unlike the regular xl mem-set command, this will persist through an xl reboot.


There's a good writeup on ballooning here :

https://blog.xenproject.org/2014/02/14/ballooning-rebooting-and-the-feature-youve-never-heard-of/


_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxx
https://lists.xen.org/xen-users

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.