MSVM _ MemorySettingData, classe

Représente l’état configuré de la mémoire pour un ordinateur virtuel.

La syntaxe suivante est simplifiée format MOF (MOF) et comprend toutes les propriétés héritées.

Syntaxe

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

Membres

La classe MSVM _ MemorySettingData possède les types de membres suivants :

Propriétés

La classe MSVM _ MemorySettingData possède les propriétés suivantes.

Adresse

Type de données : chaîne

Type d'accès : Lecture seule

Adresse de la ressource. Par exemple, l’adresse MAC d’un port Ethernet. Cette propriété est héritée de la _ ResourceAllocationSettingData CIM.

AddressOnParent

Type de données : chaîne

Type d'accès : Lecture seule

Décrit l’adresse de cette ressource dans le contexte du parent. Les propriétés parent et AddressOnParent sont utilisées pour décrire la relation du contrôleur, ainsi que l’ordre des appareils sur un contrôleur. Cette propriété est héritée de la _ ResourceAllocationSettingData CIM.

AllocationUnits

Type de données : chaîne

Type d'accès : Lecture seule

Unités d’allocation utilisées par la réservation et les propriétés de la limite . Cette propriété est héritée de la _ ResourceAllocationSettingData CIM.

AutomaticAllocation

Type de données : booléen

Type d'accès : Lecture seule

Indique si la ressource sera automatiquement allouée. Par exemple, lorsque cette propriété a la valeur true et que la machine virtuelle consommatrice est sous tension, cette ressource sera allouée. La valeur false indique que la ressource doit être allouée de manière explicite. Par exemple, le paramètre peut représenter un support amovible (tel qu’un CD-ROM ou une disquette) où le média n’est pas présent au démarrage. Une opération explicite est requise pour allouer la ressource. Cette propriété est héritée de la _ ResourceAllocationSettingData CIM.

AutomaticDeallocation

Type de données : booléen

Type d'accès : Lecture seule

Indique si la ressource sera automatiquement allouée. Par exemple, lorsque cette propriété a la valeur true et que la machine virtuelle consommatrice est sous tension, cette ressource sera allouée. Lorsque cette propriété a la valeur false, la ressource doit être allouée explicitement. Par exemple, le paramètre peut représenter un support amovible (tel qu’un CD-ROM ou une disquette) où le média n’est pas présent au démarrage. Une opération explicite est requise pour allouer la ressource. Cette propriété est héritée de la _ ResourceAllocationSettingData CIM.

Caption

Type de données : chaîne

Type d'accès : Lecture seule

Qualificateurs : MaxLen (64)

Brève description de l’objet. Cette propriété est héritée de la _ propriété ManagedElement CIM.

Connection

Type de données : tableau de chaînes

Type d'accès : Lecture seule

Appareil auquel cette ressource est connectée. Par exemple, un réseau nommé ou un port commuté. Cette propriété est héritée de la _ ResourceAllocationSettingData CIM.

ConsumerVisibility

Type de données : UInt16

Type d'accès : Lecture seule

Décrit la visibilité des consommateurs sur la ressource allouée. Cette propriété est héritée de la _ ResourceAllocationSettingData CIM.

Description

Type de données : chaîne

Type d'accès : Lecture seule

Description de l'objet . Cette propriété est héritée de la _ propriété ManagedElement CIM.

DynamicMemoryEnabled

Type de données : booléen

Type d'accès : Lecture seule

Indique si la mémoire dynamique est activée pour l’ordinateur virtuel.

ElementName

Type de données : chaîne

Type d'accès : Lecture seule

Nom complet de l’objet. Cette propriété est héritée de la _ SettingData CIM.

HostResource

Type de données : tableau de chaînes

Type d'accès : Lecture seule

Le premier élément de ce tableau contient une référence à la ressource hôte sous-jacente à assigner. Cette propriété est héritée de CIM _ ResourceAllocationSettingData, mais elle n’est pas utilisée.

**HugePagesEnabled**

Type de données : booléen

Type d'accès : Lecture seule

Indique si la mémoire est sauvegardée par 1 Go de pages ou non.

InstanceID

Type de données : chaîne

Type d'accès : Lecture seule

Qualificateurs : clé

Identifie de façon unique une instance de cette classe. Cette propriété est héritée de la _ propriété ManagedElement CIM.

IsVirtualized

Type de données : booléen

Type d'accès : Lecture seule

Indique si cet appareil est virtualisé ou transmis. Quand la valeur est false, la ressource hôte ou sous-jacente est utilisée. Au moins un élément doit être présent dans la propriété DeviceID . Quand la valeur est true, la ressource est virtualisée et peut ne pas être mappée directement à une ressource hôte/sous-jacente. Certaines implémentations peuvent prendre en charge une attribution spécifique pour les ressources virtualisées, auquel cas les ressources hôtes sont exposées à l’aide de la propriété DeviceID . Cette propriété a toujours la valeur true.

Limite

Type de données : UInt64

Type d'accès : Lecture seule

Quantité maximale de mémoire qui peut être consommée par l’ordinateur virtuel. Pour un ordinateur virtuel pour lequel la mémoire dynamique est activée, il s’agit du paramètre de mémoire maximale. Cette propriété est héritée de la _ ResourceAllocationSettingData CIM.

MappingBehavior

Type de données : UInt16

Type d'accès : Lecture seule

Spécifie comment cette ressource est mappée aux ressources sous-jacentes. Cette propriété est héritée de la _ ResourceAllocationSettingData CIM.

MaxMemoryBlocksPerNumaNode

Type de données : UInt64

Type d'accès : Lecture seule

Quantité maximale de mémoire qui peut être observée dans l’ordinateur virtuel comme appartenant à un seul nœud NUMA.

OtherResourceType

Type de données : chaîne

Type d'accès : Lecture seule

Chaîne qui décrit le type de ressource lorsqu’une valeur bien définie n’est pas disponible et que resourceType a la valeur « other ». Cette propriété est héritée de la _ ResourceAllocationSettingData CIM.

Parent

Type de données : chaîne

Type d'accès : Lecture seule

Parent de la ressource. Par exemple, un contrôleur pour l’allocation actuelle. Cette propriété est héritée de la _ ResourceAllocationSettingData CIM.

PoolID

Type de données : chaîne

Type d'accès : Lecture seule

Identificateur du pool de ressources à partir duquel cette ressource a été allouée. Cette propriété est héritée de la _ ResourceAllocationSettingData CIM.

Réservation

Type de données : UInt64

Type d'accès : Lecture seule

Spécifie la quantité de mémoire dont la disponibilité est garantie pour cet ordinateur virtuel. Pour un ordinateur virtuel pour lequel la mémoire dynamique est activée, il s’agit du paramètre de mémoire minimal. Cette propriété est héritée de la _ ResourceAllocationSettingData CIM.

ResourceSubType

Type de données : chaîne

Type d'accès : Lecture seule

Chaîne qui décrit un sous-type spécifique à l’implémentation pour cette ressource. Par exemple, cela peut être utilisé pour distinguer différents modèles du même type de ressource. Cette propriété est héritée de la _ ResourceAllocationSettingData CIM.

ResourceType

Type de données : UInt16

Type d'accès : Lecture seule

Type de ressource représenté par ce paramètre d’allocation. Cette propriété est héritée de CIM _ ResourceAllocationSettingDataet est toujours définie sur 4 (mémoire).

SgxEnabled

Type de données : booléen

Type d'accès : Lecture seule

Indique si la messagerie SGX est activée.

Notes

cette propriété a été ajoutée dans Windows 10, version 1703.

SgxSize

Type de données : UInt64

Type d'accès : Lecture seule

Quantité de mémoire SGX à allouer pour la machine virtuelle, en Mo.

Notes

cette propriété a été ajoutée dans Windows 10, version 1703.

SwapFilesInUse

Type de données : booléen

Type d'accès : Lecture seule

True si la pagination de second niveau est active ; Sinon, false.

TargetMemoryBuffer

Type de données : UInt32

Type d'accès : Lecture seule

Définit la quantité de mémoire supplémentaire qui doit être réservée pour un ordinateur virtuel au moment de l’exécution, sous la forme d’un pourcentage de la mémoire totale dont l’ordinateur virtuel a besoin. Cela s’applique uniquement aux machines virtuelles pour lesquelles la mémoire dynamique est activée.

Cette propriété peut être comprise entre 5 et 2000.

VirtualQuantity

Type de données : UInt64

Type d'accès : Lecture seule

Quantité totale de mémoire vive (RAM) de l’ordinateur virtuel, comme indiqué par le système d’exploitation invité. Pour un ordinateur virtuel pour lequel la mémoire dynamique est activée, il s’agit de la mémoire initiale disponible au démarrage. Cette propriété est héritée de la _ ResourceAllocationSettingData CIM.

VirtualQuantityUnits

Type de données : chaîne

Type d'accès : Lecture seule

Spécifie l’unité de mesure pour cette allocation de ressources. La valeur de cette propriété doit être une valeur légale du qualificateur d’unités de programmation, tel que défini dans l’annexe C. 1 de DSP0004 V 2.5 ou version ultérieure. Cette propriété est héritée de la _ ResourceAllocationSettingData CIM.

Poids

Type de données : UInt32

Type d'accès : Lecture seule

Définit la valeur de pondération de l’allocation de mémoire pour chaque ordinateur virtuel. Une fois toutes les réserves remplies, la mémoire restante de la plateforme d’hébergement sera allouée aux ordinateurs virtuels en fonction de leurs pondérations relatives (sans dépasser la valeur spécifiée par la propriété Limit ). Cette propriété est héritée de la _ ResourceAllocationSettingData CIM.

Remarques

L’accès à la classe MSVM _ MemorySettingData peut être limité par le filtrage UAC. Pour plus d’informations, consultez contrôle de compte d’utilisateur et WMI.

Exemples

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."
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge
Windows 8 [ applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2012 [ applications de bureau uniquement]
Espace de noms
\Virtualisation racine \ v2
MOF
WindowsVirtualization. v2. mof
DLL
Vmms.exe

Voir aussi

_RESOURCEALLOCATIONSETTINGDATA CIM

_RESOURCEALLOCATIONSETTINGDATA CIM

Classes de mémoire