/** * Returns a map of: * huge page size -> required amount of such huge pages */ public static Map<Integer, Integer> getHugePages(VmBase vm) { Optional<Integer> hugePageSize = getHugePageSize(vm); if (!hugePageSize.isPresent()) { return Collections.emptyMap(); } // Make sure we do not overflow when big memory VM is used int fullPages = (int)((KIB_IN_MIB * vm.getMemSizeMb() + hugePageSize.get() - 1) / hugePageSize.get()); return Collections.singletonMap(hugePageSize.get(), fullPages); }
/** * A convenience method that makes it easier to express the difference * between normal and huge pages backed VM in scheduler. * * @return The amount of non huge page memory needed for the VM */ public static Integer getRequiredMemoryWithoutHugePages(VmBase vmBase) { if (isBackedByHugepages(vmBase)) { return 0; } else { return vmBase.getMemSizeMb(); } }
protected void writeInfo() { _writer.writeElement("Info", String.format("%1$s CPU, %2$s Memory", vmBase.getNumOfCpus(), vmBase.getMemSizeMb())); }
private void writeMemory() { _writer.writeStartElement("Item"); _writer.writeElement(RASD_URI, "Caption", String.format("%1$s MB of memory", vmBase.getMemSizeMb())); _writer.writeElement(RASD_URI, "Description", "Memory Size"); _writer.writeElement(RASD_URI, "InstanceId", String.valueOf(++_instanceId)); _writer.writeElement(RASD_URI, "ResourceType", OvfHardware.Memory); _writer.writeElement(RASD_URI, "AllocationUnits", "MegaBytes"); _writer.writeElement(RASD_URI, "VirtualQuantity", String.valueOf(vmBase.getMemSizeMb())); _writer.writeEndElement(); // item }
@Override protected void build(VmBase vm, UnitVmModel model) { model.getMemSize().setEntity(vm.getMemSizeMb()); model.getMaxMemorySize().setEntity(vm.getMaxMemorySizeMb() ); model.getIoThreadsEnabled().setEntity(vm.getNumOfIoThreads() != 0); model.getNumOfIoThreads().setEntity(Integer.toString(vm.getNumOfIoThreads())); model.getMinAllocatedMemory().setEntity(vm.getMinAllocatedMem()); model.getUsbPolicy().setSelectedItem(vm.getUsbPolicy()); model.getNumOfMonitors().setSelectedItem(vm.getNumOfMonitors()); model.getIsSingleQxlEnabled().setEntity(vm.getSingleQxlPci()); model.setBootSequence(vm.getDefaultBootSequence()); model.getTotalCPUCores().setEntity(Integer.toString(vm.getNumOfCpus())); model.getNumOfSockets().setSelectedItem(vm.getNumOfSockets()); model.getCoresPerSocket().setSelectedItem(vm.getCpuPerSocket()); model.getThreadsPerCore().setSelectedItem(vm.getThreadsPerCpu()); model.getIsSmartcardEnabled().setEntity(vm.isSmartcardEnabled()); model.setSelectedMigrationDowntime(vm.getMigrationDowntime()); model.selectMigrationPolicy(vm.getMigrationPolicyId()); model.getEmulatedMachine().setSelectedItem(vm.getCustomEmulatedMachine()); model.getCustomCpu().setSelectedItem(vm.getCustomCpuName()); model.getBiosType().setSelectedItem(vm.getBiosType()); } }
maybeSetEntity(model.getMemSize(), vmBase.getMemSizeMb()); maybeSetEntity(model.getMaxMemorySize(), vmBase.getMaxMemorySizeMb()); maybeSetEntity(model.getIoThreadsEnabled(), vmBase.getNumOfIoThreads() != 0);
private static VmStatic doMapVmBaseHwPartToVmStatic(VmBase entity, VmStatic staticVm, Version version) { staticVm.setMemSizeMb(entity.getMemSizeMb()); staticVm.setMaxMemorySizeMb(entity.getMaxMemorySizeMb()); staticVm.setAutoStartup(entity.isAutoStartup()); staticVm.setSmartcardEnabled(entity.isSmartcardEnabled()); staticVm.setDefaultBootSequence(entity.getDefaultBootSequence()); staticVm.setDefaultDisplayType(entity.getDefaultDisplayType()); staticVm.setNumOfSockets(entity.getNumOfSockets()); staticVm.setCpuPerSocket(entity.getCpuPerSocket()); staticVm.setThreadsPerCpu(entity.getThreadsPerCpu()); staticVm.setNumOfMonitors(entity.getNumOfMonitors()); staticVm.setSingleQxlPci(entity.getSingleQxlPci()); staticVm.setPriority(entity.getPriority()); staticVm.setUsbPolicy(entity.getUsbPolicy()); staticVm.setTunnelMigration(entity.getTunnelMigration()); staticVm.setMigrationSupport(entity.getMigrationSupport()); staticVm.setMigrationDowntime(entity.getMigrationDowntime()); staticVm.setDedicatedVmForVdsList(entity.getDedicatedVmForVdsList()); staticVm.setMinAllocatedMem(entity.getMinAllocatedMem()); staticVm.setNumOfIoThreads(entity.getNumOfIoThreads()); return staticVm; }
model.setName(entity.getName()); model.setDescription(entity.getDescription()); model.setMemory((long) entity.getMemSizeMb() * BYTES_PER_MB);
vmBase.getDescription(), vmBase.getComment(), vmBase.getMemSizeMb(), vmBase.getMaxMemorySizeMb(), vmBase.getNumOfSockets(),
.addValue("free_text_comment", entity.getComment()) .addValue("creation_date", entity.getCreationDate()) .addValue("mem_size_mb", entity.getMemSizeMb()) .addValue("max_memory_size_mb", entity.getMaxMemorySizeMb()) .addValue("num_of_io_threads", entity.getNumOfIoThreads())
assertTrue(vm.isBootMenuEnabled()); assertEquals(ISO_NAME, vm.getIsoPath()); assertEquals(MEM_SIZE, vm.getMemSizeMb()); assertEquals(MIN_MEM, vm.getMinAllocatedMem()); assertEquals(NUM_OF_MONITORS, vm.getNumOfMonitors());