view tools/xenballoon/xenballoond.README @ 21067:b4a1832a916f

Update Xen version to 4.0.0-rc6
author Keir Fraser <>
date Tue Mar 09 18:18:05 2010 +0000 (2010-03-09)
parents 0c5183e764d8
children b59f87f56b1e
line source
1 Xenballoond.README
2 Preliminary version 0.1, 2008/06/30
4 Copyright (C) 2008 Oracle Corporation and/or its affiliates.
5 All rights reserved.
6 Written by Dan Magenheimer <>
10 Xenballoond runs in guest domains and both implements selfballooning and
11 provides metrics to dom0 for (future) directed ballooning. Both capabilities
12 provide a foundation for basic "memory overcommit" functionality.
14 With selfballooning enabled, xenballoond uses the Committed_AS value found
15 in /proc/meminfo as a first approximation of how much memory is required
16 by the guest and feeds this statistic back to the balloon driver to inflate
17 or deflate the balloon as required to achieve the target guest memory size.
18 Hysteresis parameters may be adjusted to rate-limit balloon inflation
19 and deflation.
21 If configured, certain selfballooning parameters -- including notably
22 enabling/disabling of self-ballooning -- can be controlled from domain0.
23 (These are fully documented in xenballoon.conf.)
25 If configured, the following guest statistics are sent back to domain0:
26 - /proc/meminfo
27 - /proc/vmstat
28 - /proc/uptime
29 In a future release, some of these values will be used by a policy module
30 in domain0 to control guest balloon size and provide memory balancing
31 across all guests on a given system.
33 Note that no page sharing (content-based or otherwise) is implemented
34 and no VMM-based swapping is necessary.
36 For more information, see:
42 In this preliminary release:
43 - directed ballooning is not implemented, though a monitor is provided
44 - only Redhat-based guests are supported
46 Guest prerequisites to use xenballoond:
47 - each guest must be configured with adequate[1] swap space
48 - each guest must have the balloon driver installed (/proc/xen/balloon exists)
49 - if directed ballooning (or monitoring) is desired, xenstore tools must be
50 installed in each guest in /usr/bin [2]
52 [1] for best results, for a guest that is configured with maxmem=N and
53 requires Z MB of swap space without xenballoond, available swap should
54 be increased to N+Z MB when xenballoond is running
55 [2] specifically xenstore-read, xenstore-exists, and xenstore-write must
56 be installed. Binaries can be obtained, for example, by building
57 xen-vvv.gz/tools in a guest-binary-compatible development tree
59 Instructions to install/deploy xenballoond (in Redhat-based system):
60 - in each guest:
61 - ensure pre-requisites are met (see above)
62 - place xenballoon.conf in /etc/sysconfig
63 - place xenballoond in /usr/sbin
64 - copy xenballoond.init to /etc/rc.d/init.d/xenballoond (note file rename)
65 - edit /etc/sysconfig/xenballoond.conf as desired (especially note that
66 selfballooning defaults as off)
67 - start xenballoond with "service xenballoond start", and/or configure
68 xenballoond to start at init (e.g. "chkconfig xenballoond on")
69 - in domain0:
70 - if monitoring is desired, xenballoon-monitor may be installed in /usr/sbin
71 - note that certain xenballoond.conf variables may be overridden by domain0
72 if xenstore is running in the guest; these are fully documented in
73 xenballoond.conf
75 TODO:
76 080630 modifications to support SUSE-based and debian-based guests
77 080630 domain0 ballooning policy module
78 080630 experiment with more aggressive (optionally) memory minimum targets
79 080630 BUG: xenballoond doesn't properly record the fact that it's running;
80 e.g. flipping between run levels 5 and 3 launches additional daemons
81 080630 BUG: reports of possible incompatibilites between ballooning and
82 save/restore/migrate have not been duplicated