diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index b0982aa956a..afc1562f5cb 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -3275,25 +3275,10 @@ public class ManagementServerImpl implements ManagementServer { @Override public long getMemoryUsagebyHost(Long hostId) { - long mem = 0; - List vms = _vmInstanceDao.listUpByHostIdTypes(hostId, VirtualMachine.Type.DomainRouter); - mem += vms.size() * _routerRamSize * 1024L * 1024L; - - vms = _vmInstanceDao.listUpByHostIdTypes(hostId, VirtualMachine.Type.SecondaryStorageVm); - mem += vms.size() * _ssRamSize * 1024L * 1024L; + + CapacityVO capacity = _capacityDao.findByHostIdType(hostId, CapacityVO.CAPACITY_TYPE_MEMORY); + return capacity == null ? 0 : capacity.getReservedCapacity() + capacity.getUsedCapacity(); - vms = _vmInstanceDao.listUpByHostIdTypes(hostId, VirtualMachine.Type.ConsoleProxy); - mem += vms.size() * _proxyRamSize * 1024L * 1024L; - - - List instances = _userVmDao.listUpByHostId(hostId); - for (UserVmVO vm : instances) { - ServiceOffering so = findServiceOfferingById(vm.getServiceOfferingId()); - if (so != null) { - mem += so.getRamSize() * 1024L * 1024L; - } - } - return mem; } @Override