класс Msvm_MemorySettingData
Представляет настроенное состояние памяти для виртуальной машины.
Следующий синтаксис упрощен в коде формата управляемых объектов (MOF) и включает все унаследованные свойства.
Синтаксис
[Dynamic, Provider("VmmsWmiInstanceAndMethodProvider"), AMENDMENT]
class Msvm_MemorySettingData : CIM_ResourceAllocationSettingData
{
string InstanceID;
string Caption = "Memory Default Settings";
string Description = "Describes the default settings for the memory resources.";
string ElementName;
uint16 ResourceType = 4;
string OtherResourceType;
string ResourceSubType = "Microsoft:Hyper-V:Memory";
string PoolID;
uint16 ConsumerVisibility;
string HostResource[];
boolean HugePagesEnabled;
string AllocationUnits = "byte * 2^20";
uint64 VirtualQuantity;
uint64 Reservation;
uint64 Limit;
uint32 Weight;
boolean AutomaticAllocation = True;
boolean AutomaticDeallocation = True;
string Parent;
string Connection[];
string Address;
uint16 MappingBehavior;
string AddressOnParent;
string VirtualQuantityUnits = "byte * 2^20";
boolean DynamicMemoryEnabled;
uint32 TargetMemoryBuffer;
boolean IsVirtualized = True;
boolean SwapFilesInUse;
uint64 MaxMemoryBlocksPerNumaNode;
uint64 SgxSize;
boolean SgxEnabled;
};
Участники
Класс Msvm_MemorySettingData имеет следующие типы элементов:
Свойства
Класс Msvm_MemorySettingData имеет эти свойства.
Адрес
Тип данных: строка
Тип доступа: только для чтения
Адрес ресурса. Например, MAC-адрес порта Ethernet. Это свойство наследуется от CIM_ResourceAllocationSettingData.
AddressOnParent
Тип данных: строка
Тип доступа: только для чтения
Описывает адрес этого ресурса в контексте родительского объекта. Свойства Parent и AddressOnParent используются для описания связи контроллера, а также порядка устройств на контроллере. Это свойство наследуется от CIM_ResourceAllocationSettingData.
AllocationUnits
Тип данных: строка
Тип доступа: только для чтения
Единицы выделения, используемые свойствами резервирования и ограничения . Это свойство наследуется от CIM_ResourceAllocationSettingData.
Автоматическое размещение
Тип данных: логический
Тип доступа: только для чтения
Указывает, будет ли ресурс автоматически выделен. Например, если для этого свойства задано значение True , а потребляемая виртуальная машина включена, этот ресурс будет выделен. Значение False указывает, что ресурс должен быть явно выделен. Например, параметр может представлять съемный носитель (например, компакт-диск или диск floppy), где во время запуска носитель отсутствует. Для выделения ресурса требуется явная операция. Это свойство наследуется от CIM_ResourceAllocationSettingData.
Автоматическое определение расположения
Тип данных: логический
Тип доступа: только для чтения
Указывает, будет ли ресурс автоматически выделен. Например, если для этого свойства задано значение True и используется виртуальная машина, она будет выделена. Если это свойство имеет значение False, ресурс должен быть явно выделен. Например, параметр может представлять съемный носитель (например, компакт-диск или диск floppy), где во время запуска носитель отсутствует. Для выделения ресурса требуется явная операция. Это свойство наследуется от CIM_ResourceAllocationSettingData.
Заголовок
Тип данных: строка
Тип доступа: только для чтения
Квалификаторы: MaxLen (64)
Краткое описание объекта. Это свойство наследуется от CIM_ManagedElement.
Connection
Тип данных: массив строк
Тип доступа: только для чтения
Устройство, к которому подключен этот ресурс. Например, именованный сетевой или коммутатор порта. Это свойство наследуется от CIM_ResourceAllocationSettingData.
ConsumerVisibility
Тип данных: uint16
Тип доступа: только для чтения
Описывает видимость потребителей выделенного ресурса. Это свойство наследуется от CIM_ResourceAllocationSettingData.
Description
Тип данных: строка
Тип доступа: только для чтения
Описание объекта . Это свойство наследуется от CIM_ManagedElement.
DynamicMemoryEnabled
Тип данных: логический
Тип доступа: только для чтения
Указывает, включена ли динамическая память для виртуальной машины.
ElementName
Тип данных: строка
Тип доступа: только для чтения
Отображаемое имя объекта. Это свойство наследуется от CIM_SettingData.
HostResource
Тип данных: массив строк
Тип доступа: только для чтения
Первый элемент этого массива содержит ссылку на назначенный базовый ресурс узла. Это свойство наследуется от CIM_ResourceAllocationSettingData, но оно не используется.
HugePagesEnabled
Тип данных: логический
Тип доступа: только для чтения
Поддерживается ли память 1 ГБ страниц.
InstanceID
Тип данных: строка
Тип доступа: только для чтения
Квалификаторы: ключ
Уникально идентифицирует экземпляр этого класса. Это свойство наследуется от CIM_ManagedElement.
IsVirtualized
Тип данных: логический
Тип доступа: только для чтения
Указывает, является ли это устройство виртуализированным или передается через. Если задано значение False, используется базовый ресурс или ресурс узла. Хотя бы один элемент должен присутствовать в свойстве DeviceID . Если задано значение True, ресурс виртуализирован и может не сопоставляться непосредственно с базовым или хост-ресурсом. Некоторые реализации могут поддерживать конкретное назначение для виртуализированных ресурсов, в этом случае ресурсы узла предоставляются с помощью свойства DeviceID . Это свойство всегда имеет значение True.
Лимит
Тип данных: uint64
Тип доступа: только для чтения
Максимальный объем памяти, который может использоваться виртуальной машиной. Для виртуальной машины с включенной динамической памятью это значение представляет максимальный размер памяти. Это свойство наследуется от CIM_ResourceAllocationSettingData.
СопоставлениеBehavior
Тип данных: uint16
Тип доступа: только для чтения
Указывает, как этот ресурс сопоставляется с базовыми ресурсами. Это свойство наследуется от CIM_ResourceAllocationSettingData.
MaxMemoryBlocksPerNumaNode
Тип данных: uint64
Тип доступа: только для чтения
Максимальный объем памяти, который можно наблюдать в виртуальной машине как принадлежащий одному узлу NUMA.
OtherResourceType
Тип данных: строка
Тип доступа: только для чтения
Строка, описывающая тип ресурса, если четко определенное значение недоступно, и ResourceType имеет значение Other. Это свойство наследуется от CIM_ResourceAllocationSettingData.
Parent
Тип данных: строка
Тип доступа: только для чтения
Родительский элемент ресурса. Например, контроллер для текущего выделения. Это свойство наследуется от CIM_ResourceAllocationSettingData.
PoolID
Тип данных: строка
Тип доступа: только для чтения
Идентификатор пула ресурсов, из которого был выделен этот ресурс. Это свойство наследуется от CIM_ResourceAllocationSettingData.
Резервирование
Тип данных: uint64
Тип доступа: только для чтения
Указывает объем памяти, гарантированно доступный для этой виртуальной машины. Для виртуальной машины с включенной динамической памятью это параметр минимальной памяти. Это свойство наследуется от CIM_ResourceAllocationSettingData.
ResourceSubType
Тип данных: строка
Тип доступа: только для чтения
Строка, описывающая конкретный подтип реализации для этого ресурса. Например, это может использоваться для различения разных моделей одного типа ресурсов. Это свойство наследуется от CIM_ResourceAllocationSettingData.
ResourceType
Тип данных: uint16
Тип доступа: только для чтения
Тип ресурса, который представляет этот параметр выделения. Это свойство наследуется от CIM_ResourceAllocationSettingData, и оно всегда имеет значение 4 (память).
SgxEnabled
Тип данных: логический
Тип доступа: только для чтения
Указывает, включена ли SGX.
Примечание.
Это свойство было добавлено в Windows 10 версии 1703.
SgxSize
Тип данных: uint64
Тип доступа: только для чтения
Объем памяти SGX, выделяемой для виртуальной машины, в МБ.
Примечание.
Это свойство было добавлено в Windows 10 версии 1703.
SwapFilesInUse
Тип данных: логический
Тип доступа: только для чтения
Значение true , если разбиение по страницам второго уровня активно; в противном случае — значение false.
TargetMemoryBuffer
Тип данных: uint32
Тип доступа: только для чтения
Определяет объем дополнительной памяти, который должен быть зарезервирован для виртуальной машины во время выполнения, в процентах от общего объема памяти, необходимой виртуальной машине. Это относится только к виртуальным машинам с поддержкой динамической памяти.
Это свойство может находиться в диапазоне от 5 до 2000.
VirtualQuantity
Тип данных: uint64
Тип доступа: только для чтения
Общий объем ОЗУ на виртуальной машине, как показано в гостевой операционной системе. Для виртуальной машины с включенной динамической памятью это представляет начальную память, доступную при запуске. Это свойство наследуется от CIM_ResourceAllocationSettingData.
VirtualQuantityUnits
Тип данных: строка
Тип доступа: только для чтения
Задает единицу измерения для выделения этого ресурса. Значение этого свойства должно быть юридическим значением квалификатора программных единиц, как определено в приложении C.1 DSP0004 версии 2.5 или более поздней версии. Это свойство наследуется от CIM_ResourceAllocationSettingData.
Вес
Тип данных: uint32
Тип доступа: только для чтения
Определяет значение веса выделения памяти для каждой виртуальной машины. После выполнения всех резервов оставшаяся память платформы размещения будет выделена виртуальным машинам на основе их относительных весов (не превышено значение, указанное свойством Limit ). Это свойство наследуется от CIM_ResourceAllocationSettingData.
Замечания
Доступ к классу Msvm_MemorySettingData может быть ограничен фильтрацией UAC. Дополнительные сведения см. в разделе "Контроль учетных записей пользователей" и WMI.
Примеры
function WaitForResult
{
param($result)
if ($result.ReturnValue -eq 4096)
{
while($true)
{
$result.Job
if ($result.Job -ne $null)
{
if ($result.Job.JobState -gt 4)
{
return $result.Job.ErrorCode
}
}
start-sleep 1
}
}
else
{
return $result.ReturnValue
}
}
if ($($args.count) -ne 2)
{
Write-Host "EnableHugePages.ps1 VMName SizeInMB"
return
}
$vmName = $args[0]
$sizeInMB = $args[1]
$namespace = "root\virtualization\v2"
$vm = Get-WmiObject -class MSVM_ComputerSystem -filter "ElementName='$vmName'" -namespace $namespace
$settings = Get-WmiObject -query "Associators of {$vm} where ResultClass = Msvm_VirtualSystemSettingData" -namespace $namespace
$vmSettings = $settings | ? VirtualSystemType -eq "Microsoft:Hyper-V:System:Realized"
$memorySettings = Get-WmiObject -query "Associators of {$vmSettings} where ResultClass = Msvm_MemorySettingData" -namespace $namespace
$memorySettings.MaxMemoryBlocksPerNumaNode = $sizeInMB
$memorySettings.Reservation = $sizeInMB
$memorySettings.Limit = $sizeInMB
$memorySettings.VirtualQuantity = $sizeInMB
$memorySettings.HugePagesEnabled = $True
$vmSvc = Get-WmiObject -class Msvm_VirtualSystemManagementService -namespace $namespace
$res = $vmSvc.ModifyResourceSettings($memorySettings.GetText(2))
if (WaitForResult($res) -ne 0)
{
Write-Host "Failed."
}
Requirements
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 8 [только классические приложения] |
Минимальная версия сервера |
Windows Server 2012 [только классические приложения] |
Пространство имен |
Root\Virtualization\V2 |
MOF |
WindowsVirtualization.V2.mof |
DLL-библиотеки |
Vmms.exe |