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 |