Msvm_MemorySettingData クラス

仮想マシンのメモリの構成済み状態を表します。

次の構文は Managed Object Format (MOF) のコードを単純化したもので、すべての継承されたプロパティを含みます。

構文

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

メンバー

Msvm_MemorySettingData クラスには、次の種類のメンバーがあります。

プロパティ

Msvm_MemorySettingData クラスには、次のプロパティがあります。

番地

データ型: string

アクセスの種類: 読み取り専用

リソースのアドレス。 たとえば、イーサネット ポートの MAC アドレスなどです。 このプロパティは、CIM_ResourceAllocationSettingData から継承されます。

AddressOnParent

データ型: string

アクセスの種類: 読み取り専用

親のコンテキストでのこのリソースのアドレスを記述します。 Parent プロパティと AddressOnParent プロパティは、コントローラーの関係と、コントローラー上のデバイス順序を記述するために使用されます。 このプロパティは、CIM_ResourceAllocationSettingData から継承されます。

AllocationUnits

データ型: string

アクセスの種類: 読み取り専用

Reservation プロパティと Limit プロパティで使用される割り当ての単位。 このプロパティは、CIM_ResourceAllocationSettingData から継承されます。

AutomaticAllocation

データ型: boolean

アクセスの種類: 読み取り専用

リソースが自動的に割り当てられるかどうかを示します。 たとえば、このプロパティが True に設定されていて、使用している仮想マシンの電源がオンになっている場合、このリソースが割り当てられます。 値が False の場合は、リソースを明示的に割り当てる必要があることを示します。 たとえば、この設定は、スタートアップ時にメディアが存在しないリムーバブル メディア (CD-ROM やフロッピー ディスクなど) を表している場合があります。 リソースを割り当てるには、明示的な操作が必要です。 このプロパティは、CIM_ResourceAllocationSettingData から継承されます。

AutomaticDeallocation

データ型: boolean

アクセスの種類: 読み取り専用

リソースが自動的に割り当てられるかどうかを示します。 たとえば、このプロパティが True に設定されていて、使用している仮想マシンの電源がオンになっている場合、このリソースが割り当てられます。 このプロパティが False の場合、リソースを明示的に割り当てる必要があります。 たとえば、この設定は、スタートアップ時にメディアが存在しないリムーバブル メディア (CD-ROM やフロッピー ディスクなど) を表している場合があります。 リソースを割り当てるには、明示的な操作が必要です。 このプロパティは、CIM_ResourceAllocationSettingData から継承されます。

キャプション

データ型: string

アクセスの種類: 読み取り専用

修飾子: MaxLen (64)

オブジェクトの簡単な説明。 このプロパティは CIM_ManagedElement から継承されます。

つながり

データ型: string 配列

アクセスの種類: 読み取り専用

このリソースが接続されているデバイス。 たとえば、名前付きネットワークまたはスイッチ ポートなどです。 このプロパティは、CIM_ResourceAllocationSettingData から継承されます。

ConsumerVisibility

データ型: uint16

アクセスの種類: 読み取り専用

割り当てられたリソースに対するコンシューマーの可視性について説明します。 このプロパティは、CIM_ResourceAllocationSettingData から継承されます。

説明

データ型: string

アクセスの種類: 読み取り専用

オブジェクトの説明です。 このプロパティは CIM_ManagedElement から継承されます。

DynamicMemoryEnabled

データ型: boolean

アクセスの種類: 読み取り専用

仮想マシンに対して動的メモリが有効かどうかを示します。

ElementName

データ型: string

アクセスの種類: 読み取り専用

オブジェクトの表示名。 このプロパティは、CIM_FCPort から継承されます。

HostResource

データ型: string 配列

アクセスの種類: 読み取り専用

この配列の最初の要素には、割り当て対象の基になるホスト リソースへの参照が含まれています。 このプロパティは CIM_ResourceAllocationSettingData から継承されますが、使用されません。

HugePagesEnabled

データ型: boolean

アクセスの種類: 読み取り専用

メモリが 1 GB ページでバックアップされているかどうかを示します。

InstanceID

データ型: string

アクセスの種類: 読み取り専用

修飾子: キー

このクラスのインスタンスを一意に識別します。 このプロパティは CIM_ManagedElement から継承されます。

IsVirtualized

データ型: boolean

アクセスの種類: 読み取り専用

このデバイスが仮想化されているか、パススルーされているかを示します。 False に設定されている場合、基になるリソースまたはホスト リソースが使用されます。 DeviceID プロパティには、少なくとも 1 つの項目が存在する必要があります。 True に設定されている場合、リソースは仮想化されており、基になるリソース/ホスト リソースに直接マップされない場合があります。 一部の実装では、仮想化されたリソースに対する特定の割り当てがサポートされている場合があります。その場合、ホスト リソースは DeviceID プロパティを使用して公開されます。 このプロパティは、常に True に設定されています。

Limit

データ型: uint64

アクセスの種類: 読み取り専用

仮想マシンによって消費される可能性があるメモリの最大量。 動的メモリが有効になっている仮想マシンにおいて、これは最大メモリ設定を表します。 このプロパティは、CIM_ResourceAllocationSettingData から継承されます。

MappingBehavior

データ型: uint16

アクセスの種類: 読み取り専用

このリソースを基になるリソースにマップする方法を指定します。 このプロパティは、CIM_ResourceAllocationSettingData から継承されます。

MaxMemoryBlocksPerNumaNode

データ型: uint64

アクセスの種類: 読み取り専用

1 つの NUMA ノードに属している仮想マシン内で観察できるメモリの最大量。

OtherResourceType

データ型: string

アクセスの種類: 読み取り専用

適切に定義された値が使用できず、ResourceType の値が "Other" である場合に、リソースの種類を表す文字列です。 このプロパティは、CIM_ResourceAllocationSettingData から継承されます。

上位

データ型: string

アクセスの種類: 読み取り専用

このリソースの親。 たとえば、現在の割り当てのコントローラーです。 このプロパティは、CIM_ResourceAllocationSettingData から継承されます。

PoolID

データ型: string

アクセスの種類: 読み取り専用

このリソースが割り当てられたリソース プールの識別子。 このプロパティは、CIM_ResourceAllocationSettingData から継承されます。

予約

データ型: uint64

アクセスの種類: 読み取り専用

この仮想マシンで使用可能であることが保証されるメモリの量を指定します。 動的メモリが有効になっている仮想マシンの場合、これは最小メモリ設定を表します。 このプロパティは、CIM_ResourceAllocationSettingData から継承されます。

ResourceSubType

データ型: string

アクセスの種類: 読み取り専用

このリソースの、実装固有のサブタイプを記述する文字列。 たとえば、これは、同じリソースの種類の異なるモデルを区別するために使用できます。 このプロパティは、CIM_ResourceAllocationSettingData から継承されます。

ResourceType

データ型: uint16

アクセスの種類: 読み取り専用

この割り当て設定が表すリソースの種類です。 このプロパティは CIM_ResourceAllocationSettingData から継承され、常に 4 (メモリ) に設定されます。

SgxEnabled

データ型: boolean

アクセスの種類: 読み取り専用

SGX が有効かどうかを示します。

Note

このプロパティは、Windows 10 バージョン 1703 で追加されました。

SgxSize

データ型: uint64

アクセスの種類: 読み取り専用

VM に割り当てる SGX メモリの量 (MB 単位)。

Note

このプロパティは、Windows 10 バージョン 1703 で追加されました。

SwapFilesInUse

データ型: boolean

アクセスの種類: 読み取り専用

第 2 レベルのページングがアクティブな場合は true、それ以外の場合は false

TargetMemoryBuffer

データ型: uint32

アクセスの種類: 読み取り専用

仮想マシンに必要と考えられる合計メモリに対する割合として、ランタイムにおいて仮想マシン用に予約する必要がある追加メモリの量を定義します。 これは、動的メモリが有効になっている仮想マシンにのみ適用されます。

このプロパティの範囲は 5 - 2000 です。

VirtualQuantity

データ型: uint64

アクセスの種類: 読み取り専用

ゲスト オペレーティング システムによって表示される、仮想マシン内の RAM の合計量。 動的メモリが有効になっている仮想マシンの場合、これはスタートアップ時に使用可能な初期メモリを表します。 このプロパティは、CIM_ResourceAllocationSettingData から継承されます。

VirtualQuantityUnits

データ型: string

アクセスの種類: 読み取り専用

このリソース割り当ての測定単位を指定します。 このプロパティの値は、DSP0004 V2.5 以降の Annex C.1 で定義されているプログラム単位修飾子の有効な値である必要があります。 このプロパティは、CIM_ResourceAllocationSettingData から継承されます。

体重

データ型: uint32

アクセスの種類: 読み取り専用

各仮想マシンのメモリ割り当て重み値を定義します。 すべての予約が満たされると、ホスティング プラットフォームの残りのメモリは、相対的な重みに基づいて仮想マシンに割り当てられます (Limit プロパティで指定された値を超えない範囲で)。 このプロパティは、CIM_ResourceAllocationSettingData から継承されます。

解説

UAC フィルタリングによって、Msvm_MemorySettingData クラスへのアクセスが制限される場合があります。 詳細については、「ユーザー アカウント制御と WMI」を参照してください。

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

要件

要件 Value
サポートされている最小のクライアント
Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2012 [デスクトップ アプリのみ]
名前空間
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
[DLL]
Vmms.exe

関連項目