Partager via


Classe Msvm_MemorySettingData

Représente l'état configuré de la mémoire pour une machine virtuelle.

La syntaxe suivante est du code au format MOF (Managed Object Format) simplifié. Elle inclut 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 CIM_PreviousSettingDatapossède ces types de membres :

Propriétés

La classe Msvm_MemorySettingData a ces propriétés.

Adresse

Type de données : chaîne

Type d'accès : lecture seule

L'adresse de la ressource. Par exemple, l'adresse MAC d'un port Ethernet. Cette propriété est héritée de CIM_ResourceAllocationSettingData.

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 le classement des appareils sur un contrôleur. Cette propriété est héritée de CIM_ResourceAllocationSettingData.

AllocationUnits

Type de données : chaîne

Type d'accès : lecture seule

Les unités d'allocation utilisées par les Réservation et Limite. Cette propriété est héritée de CIM_ResourceAllocationSettingData.

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é est définie sur True et que la machine virtuelle consommatrice est allumée, cette ressource sera allouée. Une valeur False indique que la ressource doit être explicitement allouée. Par exemple, le paramètre peut représenter un support amovible (tel qu'un CD-ROM ou une disquette) sur lequel, au moment du démarrage, le support n'est pas présent. Une opération explicite est requise pour allouer la ressource. Cette propriété est héritée de CIM_ResourceAllocationSettingData.

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é est définie sur True et que la machine virtuelle consommatrice est allumée, cette ressource sera allouée. Lorsque cette propriété est 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) sur lequel, au moment du démarrage, le support n'est pas présent. Une opération explicite est requise pour allouer la ressource. Cette propriété est héritée de CIM_ResourceAllocationSettingData.

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 CIM_ManagedElement.

Connexion

Type de données : tableau de chaînes

Type d'accès : lecture seule

L'appareil auquel cette ressource est connectée. Par exemple, un réseau nommé ou un port de commutateur. Cette propriété est héritée de CIM_ResourceAllocationSettingData.

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 CIM_ResourceAllocationSettingData.

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 CIM_ManagedElement.

DynamicMemoryEnabled

Type de données : booléen

Type d'accès : lecture seule

Indique si la mémoire dynamique est activée pour la machine virtuelle.

ElementName

Type de données : chaîne

Type d'accès : lecture seule

Nom d'affichage de l'objet. Cette propriété est héritée de CIM_SettingData.

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 à allouer. Cette propriété est héritée de CIM_ResourceAllocationSettingData, mais 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 : Key (clé)

Identifie de manière unique une instance de cette classe. Cette propriété est héritée de CIM_ManagedElement.

IsVirtualized

Type de données : booléen

Type d'accès : lecture seule

Indique si cet appareil est virtualisé ou transmis. Lorsqu'elle est définie sur False, la ressource sous-jacente ou hôte est utilisée. Au moins un élément doit être présent dans la propriété DeviceID. Lorsqu'elle est définie sur True, la ressource est virtualisée et peut ne pas être mappée directement à une ressource sous-jacente/hôte. Certaines implémentations peuvent prendre en charge une affectation spécifique pour les ressources virtualisées, auquel cas les ressources hôte 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 la machine virtuelle. Pour une machine virtuelle avec la mémoire dynamique activée, cela représente le paramètre de mémoire maximal. Cette propriété est héritée de CIM_ResourceAllocationSettingData.

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 CIM_ResourceAllocationSettingData.

MaxMemoryBlocksPerNumaNode

Type de données : uint64

Type d'accès : lecture seule

La quantité maximale de mémoire pouvant être observée dans la machine virtuelle 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 « Autre ». Cette propriété est héritée de CIM_ResourceAllocationSettingData.

Parent

Type de données : chaîne

Type d'accès : lecture seule

Le parent de la ressource. Par exemple, un contrôleur pour l'allocation actuelle. Cette propriété est héritée de CIM_ResourceAllocationSettingData.

ID de pool

Type de données : chaîne

Type d'accès : lecture seule

L'identificateur du pool de ressources à partir duquel cette ressource a été allouée. Cette propriété est héritée de CIM_ResourceAllocationSettingData.

Réservation

Type de données : uint64

Type d'accès : lecture seule

Spécifie la quantité de mémoire garantie comme étant disponible pour cette machine virtuelle. Pour une machine virtuelle avec la mémoire dynamique activée, cela représente le paramètre de mémoire minimal. Cette propriété est héritée de CIM_ResourceAllocationSettingData.

ResourceSubType

Type de données : chaîne

Type d'accès : lecture seule

Une 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 CIM_ResourceAllocationSettingData.

ResourceType

Type de données : uint16

Type d'accès : lecture seule

Le type de ressource représenté par ce paramètre d'allocation. Cette propriété est héritée de CIM_ResourceAllocationSettingData et elle est toujours définie sur 4 (Mémoire).

SgxEnabled

Type de données : booléen

Type d'accès : lecture seule

Indique si SGX est activé.

Remarque

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

SgxSize

Type de données : uint64

Type d'accès : lecture seule

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

Remarque

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 deuxième 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 à une machine virtuelle au moment de l'exécution, en tant que pourcentage de la mémoire totale dont la machine virtuelle est censée avoir besoin. Cela s'applique uniquement aux machines virtuelles avec la mémoire dynamique 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 RAM dans la machine virtuelle, comme indiqué par le système d'exploitation invité. Pour une machine virtuelle avec la mémoire dynamique activée, cela représente la mémoire initiale disponible au démarrage. Cette propriété est héritée de CIM_ResourceAllocationSettingData.

VirtualQuantityUnits

Type de données : chaîne

Type d'accès : lecture seule

Spécifie l'unité de mesure pour cette allocation des ressources. La valeur de cette propriété doit être une valeur légale du qualificateur d'unités programmatiques, tel que défini dans l'annexe C.1 de DSP0004 V2.5 ou version ultérieure. Cette propriété est héritée de CIM_ResourceAllocationSettingData.

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 machine virtuelle. Une fois toutes les réserves remplies, la mémoire restante de la plateforme d'hébergement sera allouée aux machines virtuelles en fonction de leurs pondérations relatives (ne pas dépasser la valeur spécifiée par la propriété Limite). Cette propriété est héritée de CIM_ResourceAllocationSettingData.

Notes

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

Spécifications

Condition requise Value
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
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

Voir aussi