Am Wed, 12 Feb 2020 11:53:25 +0100
schrieb Olaf Hering <o...@aepfle.de>:

> Is there a formula to calculate that amount of extra memory, is this behavior 
> documented somewhere?


With the script below, the formula may look like this:
- each vcpu needs 1MB extra memory
- each GB of a HVM domU memory needs 8MB extra memory
- each HVM domU needs 2MB extra memory

I assume these 8MB per GB is needed for the EPT page tables.

In case this extra memory is indeed some obvious static value, it would be 
better to allocate it from the value specified in 'memory=' to make sure a domU 
uses (almost) exactly the value that was configured.

Olaf


domU='hvm'
free_memory='125551'
for memory in {1024..102400}
do
        test "$(( ${memory} % (4*1024) ))" = "0" || continue
        xl destroy "${domU}" &> /dev/null
        while test "`xl info | awk '/^free_memory/{print $3}'`" -lt 
"${free_memory}"
        do
                sleep 0.2
        done
        xl create -q -f '/netshare/domU.cfg' "name='${domU}'" 
"memory='${memory}'" "vcpus='1'"
        while sleep 0.1
        do
                state="`xl list "${domU}" | awk "/^"${domU}'/{print $5}'`"
                case "${state}" in
                        r?????) break ;;
                        ?b????) break ;;
                        *) ;;
                esac
        done
        actual_free_memory="`xl info | awk '/^free_memory/{print $3}'`"
        domU_used_memory="$(( ${free_memory} - ${actual_free_memory} ))"
        extra_memory="$(( ${domU_used_memory} - ${memory} ))"
        echo "${memory}/$((${memory}/1024)) ${domU_used_memory} 
${extra_memory}: $((((${memory}/1024)*8)+2))"
done

Attachment: pgpsycC_ck6PO.pgp
Description: Digitale Signatur von OpenPGP

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to