X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-remote.git/blobdiff_plain/2aaa523ada0a8a4d4b37fcfd2840fce2746e1a2e..a5163a2500457cd789b7cfc0c5a4e5977604f7e5:/host/usr/sbin/invirt-availability diff --git a/host/usr/sbin/invirt-availability b/host/usr/sbin/invirt-availability index 1dcf9c8..70306dd 100644 --- a/host/usr/sbin/invirt-availability +++ b/host/usr/sbin/invirt-availability @@ -8,12 +8,6 @@ import sys import yaml import os -# return the amount of memory in kibibytes represented by s -def parseUnits(s): - num, unit = s.split(' ') - assert unit == 'kB', "unexpected unit" - return int(num) - def main(argv): """ Calculate the amount of memory available for new VMs @@ -40,10 +34,10 @@ def main(argv): free_memory = int(xminfo['free_memory']) * 1024 - ballooninfo = yaml.load(open('/proc/xen/balloon', 'r').read()) - currentallocation = parseUnits(ballooninfo['Current allocation']) - minimumtarget = parseUnits(ballooninfo['Minimum target']) - + currentallocation = int(open('/sys/devices/system/xen_memory/xen_memory0/info/current_kb', 'r').read()) +# this information seems to have vanished in recent linux - we _want_ min_target_kb, but it doesn't seem to be +# exposed anymore. +# minimumtarget = int(open('/sys/devices/system/xen_memory/xen_memory0/target_kb', 'r').read()) p = Popen(['/usr/sbin/xm', 'info', '-c'], stdout=PIPE) output = p.communicate()[0] if p.returncode != 0: @@ -54,7 +48,8 @@ def main(argv): # In kibibytes dom0minmem = int(xminfoc['dom0-min-mem']) * 1024 - dom0_spare_memory = currentallocation - max(minimumtarget, dom0minmem) +# dom0_spare_memory = currentallocation - max(minimumtarget, dom0minmem) + dom0_spare_memory = currentallocation - dom0minmem print int((free_memory + dom0_spare_memory)/1024) return 0