This patch addresses bugzilla #649, enabling `xm list' to display the
authorEwan Mellor <ewan@xensource.com>
Wed, 8 Nov 2006 09:50:09 +0000 (09:50 +0000)
committerEwan Mellor <ewan@xensource.com>
Wed, 8 Nov 2006 09:50:09 +0000 (09:50 +0000)
actual amount of memory allocated by a guest.  Also this patch:
  -  makes it more apparent that 'xm mem-set' has no effect on HVM's.
  -  show's that memory is changing if 'xm list' is issued while guest is
ballooning (w/o touching balloon driver)

Signed-off-by: Tommie McAfee <tommie.mcafee@unisys.com>
tools/python/xen/xend/XendDomainInfo.py
tools/python/xen/xend/server/XMLRPCServer.py
tools/python/xen/xm/main.py

index 2a3d2d30b37cdd4f9dd54d23128fe8cfb327d2e5..fa0eb0f65dbf57191b146ab1885cba159d924375 100644 (file)
@@ -1042,6 +1042,10 @@ class XendDomainInfo:
         except:
             log.exception('Failed to restart domain %s.', str(self.domid))
 
+    def getSysMem(self):
+        info = dom_get(self.domid)
+        xs_memory=int(info['mem_kb'])/1024
+        return xs_memory
 
     def _preserveForRestart(self):
         """Preserve a domain that has been shut down, by giving it a new UUID,
index 4ab43ca7f91f13a313fc236e3c717c68937047cd..eb662c4fabdd650b1ceeccc983ce55fdcbeea5bb 100644 (file)
@@ -79,7 +79,7 @@ methods = ['device_create', 'device_configure',
            'destroyDevice','getDeviceSxprs',
            'setMemoryTarget', 'setName', 'setVCpuCount', 'shutdown',
            'send_sysrq', 'getVCPUInfo', 'waitForDevices',
-           'getRestartCount']
+           'getRestartCount', 'getSysMem']
 
 exclude = ['domain_create', 'domain_restore']
 
index 2a3778c7c8ed37348e13d4f136fef851469c27ca..48fa4229edea16b2739a6f6e5fa2e225909b9ca4 100644 (file)
@@ -563,6 +563,12 @@ def parse_sedf_info(info):
         }
 
 def xm_brief_list(doms):
+    def get_mem_info():
+       dom_sysMem=server.xend.domain.getSysMem(d['domid'])
+       if dom_sysMem:
+               d['mem']=dom_sysMem
+
+
     print '%-40s %3s %5s %5s %10s %9s' % \
           ('Name', 'ID', 'Mem', 'VCPUs', 'State', 'Time(s)')
     
@@ -571,6 +577,7 @@ def xm_brief_list(doms):
     
     for dom in doms:
         d = parse_doms_info(dom)
+        get_mem_info()
         print format % d
 
 def xm_label_list(doms):