Clase Msvm_MemorySettingData
Representa el estado configurado de la memoria de una máquina virtual.
La siguiente sintaxis es código de Managed Object Format (MOF) simplificado e incluye todas las propiedades heredadas.
Sintaxis
[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;
};
Miembros
La clase Msvm_MemorySettingData tiene estos tipos de miembros:
Propiedades
La clase Msvm_MemorySettingData tiene estas propiedades.
Dirección
Tipo de datos: cadena
Tipo de acceso: solo lectura
La dirección del recurso. Por ejemplo, la dirección MAC de un puerto Ethernet. Esta propiedad se hereda de CIM_ResourceAllocationSettingData.
AddressOnParent
Tipo de datos: cadena
Tipo de acceso: solo lectura
Describe la dirección de este recurso en el contexto del elemento primario. Las propiedades Parent y AddressOnParent se usan para describir la relación del controlador, así como el orden de los dispositivos de un controlador. Esta propiedad se hereda de CIM_ResourceAllocationSettingData.
AllocationUnits
Tipo de datos: cadena
Tipo de acceso: solo lectura
Unidades de asignación usadas por las propiedades Reservation y Limit. Esta propiedad se hereda de CIM_ResourceAllocationSettingData.
AutomaticAllocation
Tipo de datos: booleano
Tipo de acceso: solo lectura
Indica si el recurso se asignará automáticamente. Por ejemplo, cuando esta propiedad se establece en True y la máquina virtual que consume está activada, se asignaría este recurso. Un valor False indica que el recurso debe asignarse explícitamente. Por ejemplo, la configuración puede representar medios extraíbles (como un CD-ROM o un disco de disquete) donde en el inicio el medio no está presente. Se requiere una operación explícita para asignar el recurso. Esta propiedad se hereda de CIM_ResourceAllocationSettingData.
AutomaticDeallocation
Tipo de datos: booleano
Tipo de acceso: solo lectura
Indica si el recurso se asignará automáticamente. Por ejemplo, cuando esta propiedad se establece en True y la máquina virtual que consume está activada, se asignaría este recurso. Cuando esta propiedad es False, el recurso debe asignarse explícitamente. Por ejemplo, la configuración puede representar medios extraíbles (como un CD-ROM o un disco de disquete) donde en el inicio el medio no está presente. Se requiere una operación explícita para asignar el recurso. Esta propiedad se hereda de CIM_ResourceAllocationSettingData.
Caption
Tipo de datos: cadena
Tipo de acceso: solo lectura
Calificadores: MaxLen (64)
Breve descripción del objeto. Esta propiedad se hereda de CIM_ManagedElement.
Conexión
Tipo de datos: matriz de cadena
Tipo de acceso: solo lectura
Dispositivo al que está conectado este recurso. Por ejemplo, un puerto de conmutador o una red con nombre. Esta propiedad se hereda de CIM_ResourceAllocationSettingData.
ConsumerVisibility
Tipo de datos: uint16
Tipo de acceso: solo lectura
Describe la visibilidad de los consumidores al recurso asignado. Esta propiedad se hereda de CIM_ResourceAllocationSettingData.
Descripción
Tipo de datos: cadena
Tipo de acceso: solo lectura
Descripción del objeto . Esta propiedad se hereda de CIM_ManagedElement.
DynamicMemoryEnabled
Tipo de datos: booleano
Tipo de acceso: solo lectura
Indica si la memoria dinámica está habilitada para la máquina virtual.
ElementName
Tipo de datos: cadena
Tipo de acceso: solo lectura
Nombre para mostrar del objeto. Esta propiedad se hereda de CIM_SettingData.
HostResource
Tipo de datos: matriz de cadena
Tipo de acceso: solo lectura
El primer elemento de esta matriz contiene una referencia al recurso host subyacente que se va a asignar. Esta propiedad se hereda de CIM_ResourceAllocationSettingData, pero no se usa.
HugePagesEnabled
Tipo de datos: booleano
Tipo de acceso: solo lectura
Indica si la memoria está respaldada o no por páginas de 1 GB.
InstanceID
Tipo de datos: cadena
Tipo de acceso: solo lectura
Calificadores: Key
Identifica de forma única una instancia de esta clase. Esta propiedad se hereda de CIM_ManagedElement.
IsVirtualized
Tipo de datos: booleano
Tipo de acceso: solo lectura
Indica si este dispositivo se virtualiza o es de paso a través. Cuando se establece en False, se usa el recurso subyacente o host. Al menos un elemento debe estar presente en la propiedad deviceID. Cuando se establece en True, el recurso se virtualiza y puede que no se asigne directamente a un recurso subyacente o host. Algunas implementaciones pueden admitir una asignación específica para los recursos virtualizados, en cuyo caso los recursos host se exponen mediante la propiedad DeviceID. Esta propiedad siempre se establece en True.
Límite
Tipo de datos: uint64
Tipo de acceso: solo lectura
Cantidad máxima de memoria que puede consumir la máquina virtual. Para una máquina virtual con la memoria dinámica habilitada, representa la configuración de memoria máxima. Esta propiedad se hereda de CIM_ResourceAllocationSettingData.
MappingBehavior
Tipo de datos: uint16
Tipo de acceso: solo lectura
Especifica cómo se asigna este recurso a los recursos subyacentes. Esta propiedad se hereda de CIM_ResourceAllocationSettingData.
MaxMemoryBlocksPerNumaNode
Tipo de datos: uint64
Tipo de acceso: solo lectura
Cantidad máxima de memoria que se puede observar dentro de la máquina virtual como perteneciente a un único nodo NUMA.
OtherResourceType
Tipo de datos: cadena
Tipo de acceso: solo lectura
Cadena que describe el tipo de recurso cuando un valor bien definido no está disponible y ResourceType tiene el valor "Other". Esta propiedad se hereda de CIM_ResourceAllocationSettingData.
Parent
Tipo de datos: cadena
Tipo de acceso: solo lectura
Elemento primario del recurso. Por ejemplo, un controlador para la asignación actual. Esta propiedad se hereda de CIM_ResourceAllocationSettingData.
PoolID
Tipo de datos: cadena
Tipo de acceso: solo lectura
Identificador del grupo de recursos desde el que se asignó este recurso. Esta propiedad se hereda de CIM_ResourceAllocationSettingData.
Reserva
Tipo de datos: uint64
Tipo de acceso: solo lectura
Especifica la cantidad de memoria garantizada que está disponible para esta máquina virtual. Para una máquina virtual con la memoria dinámica habilitada, representa la configuración de memoria mínima. Esta propiedad se hereda de CIM_ResourceAllocationSettingData.
ResourceSubType
Tipo de datos: cadena
Tipo de acceso: solo lectura
Cadena que describe un subtipo específico de implementación para este recurso. Por ejemplo, esto puede usarse para distinguir diferentes modelos del mismo tipo de recurso. Esta propiedad se hereda de CIM_ResourceAllocationSettingData.
ResourceType
Tipo de datos: uint16
Tipo de acceso: solo lectura
Tipo de recurso que representa esta configuración de asignación. Esta propiedad se hereda de CIM_ResourceAllocationSettingData y siempre se establece en 4 (Memoria).
SgxEnabled
Tipo de datos: booleano
Tipo de acceso: solo lectura
Indica si SGX está habilitado.
Nota:
Esta propiedad se agregó en Windows 10, versión 1703.
SgxSize
Tipo de datos: uint64
Tipo de acceso: solo lectura
Cantidad de memoria SGX que se va a asignar para la máquina virtual, en MB.
Nota:
Esta propiedad se agregó en Windows 10, versión 1703.
SwapFilesInUse
Tipo de datos: booleano
Tipo de acceso: solo lectura
true si la paginación de segundo nivel está activa; de lo contrario, false.
TargetMemoryBuffer
Tipo de datos: uint32
Tipo de acceso: solo lectura
Define la cantidad de memoria adicional que se debe reservar para una máquina virtual en tiempo de ejecución, como porcentaje de la memoria total que se cree que necesita la máquina virtual. Esto solo se aplica a las máquinas virtuales con la memoria dinámica habilitada.
Esta propiedad puede estar en el intervalo comprendido entre 5 y 2000.
VirtualQuantity
Tipo de datos: uint64
Tipo de acceso: solo lectura
Cantidad total de RAM en la máquina virtual, tal como lo ve el sistema operativo invitado. Para una máquina virtual con memoria dinámica habilitada, representa la memoria inicial disponible en el inicio. Esta propiedad se hereda de CIM_ResourceAllocationSettingData.
VirtualQuantityUnits
Tipo de datos: cadena
Tipo de acceso: solo lectura
Especifica la unidad de medida para esta asignación de recursos. El valor de esta propiedad debe ser un valor legal del calificador Unidades de programación, tal como se define en el anexo C.1 de DSP0004 V2.5 o posterior. Esta propiedad se hereda de CIM_ResourceAllocationSettingData.
Peso
Tipo de datos: uint32
Tipo de acceso: solo lectura
Define el valor de ponderación de asignación de memoria para cada máquina virtual. Una vez que se hayan cumplido todas las reservas, la memoria restante de la plataforma de hospedaje se asignará a las máquinas virtuales en función de sus ponderaciones relativas (no superar el valor especificado por la propiedad Limit). Esta propiedad se hereda de CIM_ResourceAllocationSettingData.
Comentarios
El filtrado de UAC puede restringir el acceso a la clase Msvm_MemorySettingData. Para obtener más información, vea Control de cuentas de usuario y WMI.
Ejemplos
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."
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo compatible |
Windows 8 [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2012 [solo aplicaciones de escritorio] |
Espacio de nombres |
Root\Virtualization\V2 |
MOF |
WindowsVirtualization.V2.mof |
Archivo DLL |
Vmms.exe |