Compartilhar via


Classe Msvm_MemorySettingData

Representa o estado configurado da memória de uma máquina virtual.

A sintaxe a seguir é um código MOF (Managed Object Format) simplificado e inclui todas as propriedades herdadas.

Sintaxe

[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;
};

Membros

A classe Msvm_MemorySettingData tem esses tipos de membros:

Propriedades

A classe Msvm_MemorySettingData tem as seguintes propriedades.

Endereço

Tipo de dados: string

Tipo de acesso: somente leitura

O endereço do recurso. Por exemplo, o endereço MAC de uma porta Ethernet. Essa propriedade é herdada de CIM_ResourceAllocationSettingData.

AddressOnParent

Tipo de dados: string

Tipo de acesso: somente leitura

Descreve o endereço desse recurso no contexto do pai. As propriedades Parent e AddressOnParent são usadas para descrever o relacionamento com o controlador, bem como a ordenação dos dispositivos em um controlador. Essa propriedade é herdada de CIM_ResourceAllocationSettingData.

AllocationUnits

Tipo de dados: string

Tipo de acesso: somente leitura

As unidades de alocação usadas pelas propriedades Reservation e Limit. Essa propriedade é herdada de CIM_ResourceAllocationSettingData.

AutomaticAllocation

Tipo de dados: booliano

Tipo de acesso: somente leitura

Indica se o recurso será alocado automaticamente. Por exemplo, quando essa propriedade for definida como True e a máquina virtual consumidora for ligada, esse recurso será alocado. Um valor de False indica que o recurso deve ser alocado explicitamente. Por exemplo, a configuração pode representar uma mídia removível (como um CD-ROM ou um disquete) em que, na inicialização, a mídia não está presente. Uma operação explícita é necessária para alocar o recurso. Essa propriedade é herdada de CIM_ResourceAllocationSettingData.

AutomaticDeallocation

Tipo de dados: booliano

Tipo de acesso: somente leitura

Indica se o recurso será alocado automaticamente. Por exemplo, quando essa propriedade é definida como True e a máquina virtual consumidora é ligada, esse recurso é alocado. Quando essa propriedade for False, o recurso deverá ser alocado explicitamente. Por exemplo, a configuração pode representar uma mídia removível (como um CD-ROM ou um disquete) em que, na inicialização, a mídia não está presente. Uma operação explícita é necessária para alocar o recurso. Essa propriedade é herdada de CIM_ResourceAllocationSettingData.

Legenda

Tipo de dados: string

Tipo de acesso: somente leitura

Qualificadores: Comprimento Máximo (64)

Uma descrição breve do objeto. Essa propriedade é herdada de CIM_ManagedSystemElement.

Conexão

Tipo de dados: matriz string

Tipo de acesso: somente leitura

O dispositivo ao qual esse recurso está conectado. Por exemplo, uma porta de rede ou switch nomeada. Essa propriedade é herdada de CIM_ResourceAllocationSettingData.

ConsumerVisibility

Tipo de dados: uint16

Tipo de acesso: somente leitura

Descreve a visibilidade dos consumidores para o recurso alocado. Essa propriedade é herdada de CIM_ResourceAllocationSettingData.

Descrição

Tipo de dados: string

Tipo de acesso: somente leitura

Uma descrição do objeto . Essa propriedade é herdada de CIM_ManagedSystemElement.

DynamicMemoryEnabled

Tipo de dados: booliano

Tipo de acesso: somente leitura

Indica se a memória dinâmica está habilitada para a máquina virtual.

ElementName

Tipo de dados: string

Tipo de acesso: somente leitura

Um nome de exibição para o objeto. Essa propriedade é herdada de CIM_SettingData.

HostResource

Tipo de dados: matriz string

Tipo de acesso: somente leitura

O primeiro elemento dessa matriz contém uma referência ao recurso de host subjacente a ser atribuído. Essa propriedade é herdada de CIM_ResourceAllocationSettingData, mas não é usada.

HugePagesEnabled

Tipo de dados: booliano

Tipo de acesso: somente leitura

Se a memória é apoiada por páginas de 1 GB ou não.

InstanceID

Tipo de dados: string

Tipo de acesso: somente leitura

Qualificadores: Key

Identifica exclusivamente uma instância dessa classe. Essa propriedade é herdada de CIM_ManagedSystemElement.

IsVirtualized

Tipo de dados: booliano

Tipo de acesso: somente leitura

Indica se esse dispositivo é virtualizado ou de passagem. Quando definido como False, é usado o recurso subjacente ou do host. Pelo menos um item deve estar presente na propriedade DeviceID. Quando definido como True, o recurso é virtualizado e não pode ser mapeado diretamente para um recurso subjacente/hospedeiro. Algumas implementações podem oferecer suporte à atribuição específica de recursos virtualizados, caso em que os recursos do host são expostos usando a propriedade DeviceID. Essa propriedade é sempre definida como True.

Limite

Tipo de dados: uint64

Tipo de acesso: somente leitura

A quantidade máxima de memória que pode ser consumida pela máquina virtual. Para uma máquina virtual com memória dinâmica habilitada, isso representa a configuração máxima de memória. Essa propriedade é herdada de CIM_ResourceAllocationSettingData.

MappingBehavior

Tipo de dados: uint16

Tipo de acesso: somente leitura

Especifica como esse recurso é mapeado para recursos subjacentes. Essa propriedade é herdada de CIM_ResourceAllocationSettingData.

MaxMemoryBlocksPerNumaNode

Tipo de dados: uint64

Tipo de acesso: somente leitura

A quantidade máxima de memória que pode ser observada na máquina virtual como pertencente a um único nó NUMA.

OtherResourceType

Tipo de dados: string

Tipo de acesso: somente leitura

Uma cadeia de caracteres que descreve o tipo de recurso quando um valor bem definido não está disponível e ResourceType tem o valor "Outro". Essa propriedade é herdada de CIM_ResourceAllocationSettingData.

Pai

Tipo de dados: string

Tipo de acesso: somente leitura

O pai do recurso. Por exemplo, um controlador para a alocação atual. Essa propriedade é herdada de CIM_ResourceAllocationSettingData.

PoolID

Tipo de dados: string

Tipo de acesso: somente leitura

O identificador do pool de recursos do qual esse recurso foi alocado. Essa propriedade é herdada de CIM_ResourceAllocationSettingData.

Reserva

Tipo de dados: uint64

Tipo de acesso: somente leitura

Especifica a quantidade de memória garantida disponível para essa máquina virtual. Para uma máquina virtual com memória dinâmica habilitada, isso representa a configuração mínima de memória. Essa propriedade é herdada de CIM_ResourceAllocationSettingData.

ResourceSubType

Tipo de dados: string

Tipo de acesso: somente leitura

Uma cadeia de caracteres que descreve um subtipo específico de implementação para esse recurso. Por exemplo, isso pode ser usado para distinguir diferentes modelos do mesmo tipo de recurso. Essa propriedade é herdada de CIM_ResourceAllocationSettingData.

ResourceType

Tipo de dados: uint16

Tipo de acesso: somente leitura

O tipo de recurso que essa configuração de alocação representa. Essa propriedade é herdada de CIM_ResourceAllocationSettingData e é sempre definida como 4 (Memória).

SgxEnabled

Tipo de dados: booliano

Tipo de acesso: somente leitura

Indica se o SGX está habilitado.

Observação

Essa propriedade foi adicionada no Windows 10, versão 1703.

SgxSize

Tipo de dados: uint64

Tipo de acesso: somente leitura

A quantidade de memória do SGX a ser alocada para a VM, em MB.

Observação

Essa propriedade foi adicionada no Windows 10, versão 1703.

SwapFilesInUse

Tipo de dados: booliano

Tipo de acesso: somente leitura

true se a paginação de segundo nível estiver ativa; caso contrário, false.

TargetMemoryBuffer

Tipo de dados: uint32

Tipo de acesso: somente leitura

Define a quantidade de memória extra que deve ser reservada para uma máquina virtual em runtime, como uma porcentagem da memória total que a máquina virtual supostamente precisa. Isso se aplica somente a máquinas virtuais com memória dinâmica ativada.

Essa propriedade pode estar no intervalo de 5 a 2.000.

VirtualQuantity

Tipo de dados: uint64

Tipo de acesso: somente leitura

A quantidade total de RAM na máquina virtual, conforme visto pelo sistema operacional convidado. Para uma máquina virtual com memória dinâmica habilitada, isso representa a memória inicial disponível na inicialização. Essa propriedade é herdada de CIM_ResourceAllocationSettingData.

VirtualQuantityUnits

Tipo de dados: string

Tipo de acesso: somente leitura

Especifica a unidade de medida para essa alocação de recursos. O valor dessa propriedade deve ser um valor legal do qualificador de Unidades Programáticas, conforme definido no Anexo C.1 do DSP0004 V2.5 ou posterior. Essa propriedade é herdada de CIM_ResourceAllocationSettingData.

Weight

Tipo de dados: uint32

Tipo de acesso: somente leitura

Define o valor de ponderação da alocação de memória para cada máquina virtual. Depois que todas as reservas forem atendidas, a memória restante da plataforma de hospedagem será alocada às máquinas virtuais com base em seus pesos relativos (para não exceder o valor especificado pela propriedade Limit). Essa propriedade é herdada de CIM_ResourceAllocationSettingData.

Comentários

O acesso à classe Msvm_MemorySettingData pode ser restringido pela Filtragem UAC. Para obter mais informações, confira Controle de Conta do Usuário e WMI.

Exemplos

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 com suporte
Windows 8 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2012 [somente aplicativos da área de trabalho]
Namespace
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

Confira também