From e9586a81289293e38b648953ff185666e34f11a8 Mon Sep 17 00:00:00 2001 From: Rafal Wojtczuk Date: Sat, 10 Apr 2010 13:56:43 +0200 Subject: [PATCH] qubes.py: correctly calculate Xen free memory --- dom0/qvm-core/qubes.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dom0/qvm-core/qubes.py b/dom0/qvm-core/qubes.py index 5ba8cbf4..08361438 100755 --- a/dom0/qvm-core/qubes.py +++ b/dom0/qvm-core/qubes.py @@ -400,6 +400,12 @@ class QubesVm(object): else: pass + def get_free_xen_memory(self, session): + hosts = session.xenapi.host.get_all() + host_record = session.xenapi.host.get_record(hosts[0]) + host_metrics_record = session.xenapi.host_metrics.get_record(host_record["metrics"]) + ret = host_metrics_record["memory_free"] + return long(ret) def start(self, debug_console = False, verbose = False): if dry_run: @@ -420,7 +426,7 @@ class QubesVm(object): mem_required = self.get_mem_static_max() dom0_mem = dom0_vm.get_mem() - dom0_mem_new = dom0_mem - mem_required + dom0_mem_new = dom0_mem - mem_required + self.get_free_xen_memory(session) if verbose: print "--> AppVM required mem : {0}".format(mem_required) print "--> Dom0 mem after launch : {0}".format(dom0_mem_new)