[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v4 4/4] xl: Improve xl documentation in regards to guest memory management
Improve xl documentation in regards to guest memory management. Some improvements are suggested by Ian Jackson and Konrad Rzeszutek Wilk. Signed-off-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> --- docs/man/xl.conf.pod.5 | 15 +++++ docs/misc/libxl_memory.txt | 124 +++++++++++++++++++++---------------- docs/misc/xenstore-paths.markdown | 22 ++++--- tools/examples/xl.conf | 4 ++ 4 files changed, 105 insertions(+), 60 deletions(-) diff --git a/docs/man/xl.conf.pod.5 b/docs/man/xl.conf.pod.5 index 1229c8a..658b1eb 100644 --- a/docs/man/xl.conf.pod.5 +++ b/docs/man/xl.conf.pod.5 @@ -62,6 +62,21 @@ of memory given to domain 0 by default. Default: C<"auto"> +=item B<mem_set_enforce_limit=BOOLEAN> + +If enabled, then C<xl mem-set> by default will set a memory allocation +target and enforce the maximum memory allocation for each domain. +If disabled, then C<xl mem-set> by default will set only a memory allocation +target for each domain. + +The memory allocation target is a suggested amount of memory which +should be allocated by a guest. It is nice when the guest follows this +value but it may have its own idea about memory requirments. However, +it could not allocate more memory than a ceiling known as the maximum +memory allocation. + +Default: C<1> + =item B<run_hotplug_scripts=BOOLEAN> If disabled hotplug scripts will be called from udev, as it used to diff --git a/docs/misc/libxl_memory.txt b/docs/misc/libxl_memory.txt index 253476d..b89214a 100644 --- a/docs/misc/libxl_memory.txt +++ b/docs/misc/libxl_memory.txt @@ -1,70 +1,90 @@ /* === Domain memory breakdown: HVM guests ================================== - - + +----------+ + - | | shadow | | - | +----------+ | - overhead | | extra | | - | | external | | - | +----------+ + | - | | extra | | | - | | internal | | | - + +----------+ + | | footprint - | | video | | | | - | +----------+ + + | | xen | - | | | | | | actual | maximum | - | | | | | | target | | - | | guest | | | build | | | - | | | | | start | | | - static | | | | | | | | - maximum | +----------+ | + + + + - | | | | - | | | | - | | balloon | | build - | | | | maximum - | | | | - + +----------+ + - - + + + +----------+ + + | | shadow | | + | +----------+ | + overhead | | extra | | + | | external | | + | +----------+ + | + | | extra | | | + | | internal | | | + + +----------+ + + | | footprint + | | video | | | | | + | +----------+ | + + | | xen | + | | | | | | | actual | maximum | + | | | | | | | target | | + | | guest | | | | build | | | + | | | | | | start | | | + | | | | | | | | | + | +----------+ | | + + + + + | | | | | + | | | | | + guest | | | | | build + maximum | | | | | maximum + | | balloon | | | + | | | | | + | | | | static | + | | | | maximum | + | | | | | + | +----------+ + + + | | | + | | memory | + | | hotplug | + | | | + + +----------+ + + extra internal = LIBXL_MAXMEM_CONSTANT extra external = LIBXL_HVM_EXTRA_MEMORY shadow = libxl_domain_build_info.shadow_memkb static maximum = libxl_domain_build_info.max_memkb video = libxl_domain_build_info.video_memkb build start = libxl_domain_build_info.target_memkb + guest maximum = declared by a guest its maximum supported memory size libxl_domain_setmaxmem -> xen maximum - libxl_set_memory_target -> actual target - - + libxl_set_memory_target -> actual target & optionaly xen maximum + + === Domain memory breakdown: PV guests ================================== - - - + +----------+ + - overhead | | extra | | - | | external | | - | +----------+ + | - | | extra | | | - | | internal | | | - + +----------+ + + + | | footprint - | | | | | | | xen | - | | | | | | actual | maximum | - | | guest | | | build | target | | - | | | | | start | | | - static | | | | | | | | - maximum | +----------+ | + + + + - | | | | - | | | | - | | balloon | | build - | | | | maximum - | | | | - + +----------+ + - + + + + +----------+ + + overhead | | extra | | + | | external | | + | +----------+ + | + | | extra | | | + | | internal | | | + + +----------+ + + + + | | footprint + | | | | | | | | xen | + | | | | | | | actual | maximum | + | | guest | | | | build | target | | + | | | | | | start | | | + | | | | | | | | | + | +----------+ | | + + + + + | | | | | + | | | | | + | | | | | build + guest | | | | | maximum + maximum | | balloon | | | + | | | | | + | | | | static | + | | | | maximum | + | | | | | + | +----------+ + + + | | | + | | memory | + | | hotplug | + | | | + + +----------+ + extra internal = LIBXL_MAXMEM_CONSTANT extra external = LIBXL_PV_EXTRA_MEMORY static maximum = libxl_domain_build_info.max_memkb build start = libxl_domain_build_info.target_memkb + guest maximum = declared by a guest its maximum supported memory size libxl_domain_setmaxmem -> xen maximum - libxl_set_memory_target -> actual target + libxl_set_memory_target -> actual target & optionaly xen maximum ========================================================================= */ diff --git a/docs/misc/xenstore-paths.markdown b/docs/misc/xenstore-paths.markdown index 535830e..1ac2159 100644 --- a/docs/misc/xenstore-paths.markdown +++ b/docs/misc/xenstore-paths.markdown @@ -124,18 +124,24 @@ This protocol is not currently well documented. #### ~/memory/static-max = MEMKB [] -Specifies a static maximum amount memory which this domain should -expect to be given. In the absence of in-guest memory hotplug support -this set on domain boot and is usually the maximum amount of RAM which -a guest can make use of. See [docs/misc/libxl_memory.txt][LIBXLMEM] -for a description of how memory is accounted for in toolstacks using -the libxl library. +Specifies a static maximum amount of memory which this domain +should expect to be given. It is usually the maximum amount +of RAM which a guest can make use of. This value is set on the +domain boot. If ~/memory/guest-max is set then static maximum +is ignored by libxl. See [docs/misc/libxl_memory.txt][LIBXLMEM] +for a description of how the memory is accounted for in toolstacks +using the libxl library. + +#### ~/memory/guest-max = ""|MEMKB [w] + +Declared by a guest its maximum supported memory size. Valid if numeric. #### ~/memory/target = MEMKB [] The current balloon target for the domain. The balloon driver within -the guest is expected to make every effort to every effort use no more -than this amount of RAM. +the guest is expected to make every effort to use no more than this +amount of RAM. Guests whose actual allocation exceeds the target may +experience memory allocation failures. #### ~/memory/videoram = MEMKB [HVM,INTERNAL] diff --git a/tools/examples/xl.conf b/tools/examples/xl.conf index 9402c3f..9dbb1be 100644 --- a/tools/examples/xl.conf +++ b/tools/examples/xl.conf @@ -5,6 +5,10 @@ # starts with all the host's memory. #autoballoon="auto" +# xl mem-set by default will set a memory allocation target and enforce +# the maximum memory allocation for each domain +#mem_set_enforce_limit=1 + # full path of the lockfile used by xl during domain creation #lockfile="/var/lock/xl" -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |