Msvm_MemorySettingData-Klasse

Stellt den konfigurierten Zustand des Arbeitsspeichers für eine VM dar.

Die folgende Syntax ist ein vereinfachter MOF-Code (Managed Object Format), der alle geerbten Eigenschaften enthält.

Syntax

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

Member

Die Msvm_MemorySettingData-Klasse verfügt über die folgenden Membertypen:

Eigenschaften

Die Msvm_MemorySettingData-Klasse verfügt über die folgenden Eigenschaften.

Adresse

Datentyp: Zeichenfolge

Zugriffstyp: schreibgeschützt

Die Adresse der Ressource. Ein Beispiel hierfür ist die MAC-Adresse eines Ethernet-Ports. Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt.

AddressOnParent

Datentyp: Zeichenfolge

Zugriffstyp: schreibgeschützt

Beschreibt die Adresse dieser Ressource im Kontext des übergeordneten Elements. Die Eigenschaften Parent und AddressOnParent werden verwendet, um die Controllerbeziehung sowie die Anordnung von Geräten auf einem Controller zu beschreiben. Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt.

AllocationUnits

Datentyp: Zeichenfolge

Zugriffstyp: schreibgeschützt

Die Zuordnungseinheiten, die von den Eigenschaften Reservation und Limit verwendet werden. Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt.

AutomaticAllocation

Datentyp: Boolescher Wert

Zugriffstyp: schreibgeschützt

Gibt an, ob die Ressource automatisch zugeordnet wird. Wenn diese Eigenschaft beispielsweise auf True festgelegt ist, wird die Ressource beim Einschalten der Consumer-VM zugeordnet. Der Wert False gibt an, dass die Ressource explizit zugeordnet werden muss. Die Einstellung kann z. B. für Wechselmedien (etwa eine CD-ROM oder eine Diskette) verwendet werden, wenn das Medium beim Starten nicht vorhanden ist. Zum Zuordnen der Ressource ist ein expliziter Vorgang erforderlich. Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt.

AutomaticDeallocation

Datentyp: Boolescher Wert

Zugriffstyp: schreibgeschützt

Gibt an, ob die Ressource automatisch zugeordnet wird. Wenn diese Eigenschaft beispielsweise auf True festgelegt ist, wird die Ressource beim Einschalten der Consumer-VM zugeordnet. Ist sie auf False festgelegt, muss die Ressource explizit zugeordnet werden. Die Einstellung kann z. B. für Wechselmedien (etwa eine CD-ROM oder eine Diskette) verwendet werden, wenn das Medium beim Starten nicht vorhanden ist. Zum Zuordnen der Ressource ist ein expliziter Vorgang erforderlich. Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt.

Caption

Datentyp: Zeichenfolge

Zugriffstyp: schreibgeschützt

Qualifizierer: MaxLen (64)

Eine kurze Beschreibung des Objekts. Diese Eigenschaft wird von CIM_ManagedElement geerbt.

Verbindung

Datentyp: string-Array

Zugriffstyp: schreibgeschützt

Das Gerät, mit dem diese Ressource verbunden ist. Dies kann beispielsweise ein benanntes Netzwerk oder ein Switchport sein. Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt.

ConsumerVisibility

Datentyp: uint16

Zugriffstyp: schreibgeschützt

Beschreibt die Sichtbarkeit der Consumer für die zugeordnete Ressource. Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt.

Beschreibung

Datentyp: Zeichenfolge

Zugriffstyp: schreibgeschützt

Eine Beschreibung des -Objekts. Diese Eigenschaft wird von CIM_ManagedElement geerbt.

DynamicMemoryEnabled

Datentyp: Boolescher Wert

Zugriffstyp: schreibgeschützt

Gibt an, ob dynamischer Arbeitsspeicher für die VM aktiviert ist.

ElementName

Datentyp: Zeichenfolge

Zugriffstyp: schreibgeschützt

Ein Anzeigename für das Objekt. Diese Eigenschaft wird von CIM_SettingData geerbt.

HostResource

Datentyp: string-Array

Zugriffstyp: schreibgeschützt

Das erste Element dieses Arrays enthält einen Verweis auf die zugrunde liegende Hostressource, die zugewiesen werden soll. Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt, aber nicht verwendet.

HugePagesEnabled

Datentyp: Boolescher Wert

Zugriffstyp: schreibgeschützt

Gibt an, ob der Arbeitsspeicher von 1 GB-Seiten unterstützt wird.

InstanceID

Datentyp: Zeichenfolge

Zugriffstyp: schreibgeschützt

Qualifizierer: Schlüssel

Identifiziert eine Instanz dieser Klasse eindeutig. Diese Eigenschaft wird von CIM_ManagedElement geerbt.

IsVirtualized

Datentyp: Boolescher Wert

Zugriffstyp: schreibgeschützt

Gibt an, ob dieses Gerät virtualisiert ist oder per Pass-Through übergeben wird. Bei False wird die zugrunde liegende Ressource oder Hostressource verwendet. Die DeviceID-Eigenschaft muss mindestens ein Element enthalten. Bei True ist die Ressource virtualisiert und kann nicht direkt einer zugrunde liegenden Ressource oder Hostressource zugeordnet werden. Einige Implementierungen unterstützen möglicherweise bestimmte Zuweisungen für virtualisierte Ressourcen. In diesem Fall werden die Hostressourcen mithilfe der DeviceID-Eigenschaft verfügbar gemacht. Diese Eigenschaft ist immer auf True festgelegt.

Begrenzung

Datentyp: uint64

Zugriffstyp: schreibgeschützt

Die maximale Arbeitsspeichermenge, die von der VM belegt werden kann. Bei einer VM, für die dynamischer Arbeitsspeicher aktiviert ist, stellt dies die maximale Speichereinstellung dar. Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt.

MappingBehavior

Datentyp: uint16

Zugriffstyp: schreibgeschützt

Gibt an, wie diese Ressource zugrunde liegenden Ressourcen zugeordnet wird. Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt.

MaxMemoryBlocksPerNumaNode

Datentyp: uint64

Zugriffstyp: schreibgeschützt

Die maximale Arbeitsspeichermenge, die innerhalb der VM als zu einem einzelnen NUMA-Knoten gehörend beobachtet werden kann.

OtherResourceType

Datentyp: Zeichenfolge

Zugriffstyp: schreibgeschützt

Eine Zeichenfolge, die den Ressourcentyp beschreibt, wenn kein gut definierter Wert verfügbar ist und ResourceType auf den Wert „Other“ festgelegt ist. Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt.

Parent

Datentyp: Zeichenfolge

Zugriffstyp: schreibgeschützt

Das übergeordnete Element der Ressource. Beispiel: ein Controller für die aktuelle Zuordnung. Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt.

PoolID

Datentyp: Zeichenfolge

Zugriffstyp: schreibgeschützt

Der Bezeichner des Ressourcenpools, aus dem diese Ressource zugeordnet wurde. Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt.

Reservierung

Datentyp: uint64

Zugriffstyp: schreibgeschützt

Gibt die Arbeitsspeichermenge an, die für diese VM garantiert verfügbar ist. Bei einer VM, für die dynamischer Arbeitsspeicher aktiviert ist, stellt dies die minimale Speichereinstellung dar. Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt.

ResourceSubType

Datentyp: Zeichenfolge

Zugriffstyp: schreibgeschützt

Eine Zeichenfolge, die einen implementierungsspezifischen Untertyp für diese Ressource beschreibt. Dies kann beispielsweise verwendet werden, um verschiedene Modelle desselben Ressourcentyps zu unterscheiden. Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt.

ResourceType

Datentyp: uint16

Zugriffstyp: schreibgeschützt

Der Ressourcentyp, den diese Zuordnungseinstellung darstellt. Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt und ist immer auf 4 (Arbeitsspeicher) festgelegt.

SgxEnabled

Datentyp: Boolescher Wert

Zugriffstyp: schreibgeschützt

Gibt an, ob SGX aktiviert ist.

Hinweis

Diese Eigenschaft wurde in Windows 10, Version 1703 hinzugefügt.

SgxSize

Datentyp: uint64

Zugriffstyp: schreibgeschützt

Die Menge des SGX-Speichers (in MB), der für die VM zugeordnet werden soll.

Hinweis

Diese Eigenschaft wurde in Windows 10, Version 1703 hinzugefügt.

SwapFilesInUse

Datentyp: Boolescher Wert

Zugriffstyp: schreibgeschützt

Ist true, wenn die Auslagerung der zweiten Ebene (Second Level Paging, SLP) aktiv ist, und andernfalls false.

TargetMemoryBuffer

Datentyp: uint32

Zugriffstyp: schreibgeschützt

Definiert die Menge an zusätzlichem Arbeitsspeicher, die zur Laufzeit für eine VM reserviert werden sollte, als Prozentsatz des Gesamtspeichers, den die VM voraussichtlich benötigt. Dies gilt nur für VMs, für die dynamischer Arbeitsspeicher aktiviert ist.

Der Wert dieser Eigenschaft kann zwischen 5 und 2.000 liegen.

VirtualQuantity

Datentyp: uint64

Zugriffstyp: schreibgeschützt

Der Gesamtarbeitsspeicher auf der VM, wie er vom Gastbetriebssystem erkannt wird. Bei einer VM, für die dynamischer Arbeitsspeicher aktiviert ist, stellt dies den anfänglichen Arbeitsspeicher dar, der beim Start verfügbar ist. Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt.

VirtualQuantityUnits

Datentyp: Zeichenfolge

Zugriffstyp: schreibgeschützt

Gibt die Maßeinheit für diese Ressourcenzuordnung an. Der Wert dieser Eigenschaft muss ein gültiger Wert des Qualifizierers „Programmatic Units“ gemäß Anhang C.1 von DSP0004 V2.5 oder höher sein. Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt.

Weight

Datentyp: uint32

Zugriffstyp: schreibgeschützt

Definiert den Gewichtungswert der Speicherbelegung für jede VM. Nachdem alle Reserven erfüllt wurden, wird der verbleibende Arbeitsspeicher der Hostingplattform VMs basierend auf ihren relativen Gewichtungen zugeordnet (wobei der mit der Limit-Eigenschaft angegebene Wert nicht überschritten werden darf). Diese Eigenschaft wird von CIM_ResourceAllocationSettingData geerbt.

Hinweise

Der Zugriff auf die Msvm_MemorySettingData-Klasse ist möglicherweise durch die UAC-Filterung eingeschränkt. Weitere Informationen finden Sie unter Benutzerkontensteuerung und WMI.

Beispiele

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2012 [nur Desktop-Apps]
Namespace
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

Siehe auch