Msvm_MemorySettingData 類別
表示虛擬機器記憶體的設定狀態。
下列語法是簡化 Managed 物件格式 (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 類別具有這些屬性。
位址
資料類型: 字串
存取類型:唯讀
資源的位址。 例如,乙太網路埠的 MAC 位址。 此屬性繼承自 CIM_ResourceAllocationSettingData 。
AddressOnParent
資料類型: 字串
存取類型:唯讀
描述父系內容中此資源的位址。 Parent 和 AddressOnParent 屬性可用來描述控制器關聯性,以及控制器上的裝置順序。 此屬性繼承自 CIM_ResourceAllocationSettingData 。
AllocationUnits
資料類型: 字串
存取類型:唯讀
Reservation 和 Limit 屬性所使用的 配置單位。 此屬性繼承自 CIM_ResourceAllocationSettingData 。
AutomaticAllocation
資料類型: 布林值
存取類型:唯讀
指出是否會自動設定資源。 例如,當此屬性設定為 True 且取用的虛擬機器已開啟電源時,將會配置此資源。 False 值 表示必須明確配置資源。 例如,此設定可能代表卸載式媒體(例如 CD-ROM 或磁碟片),其中啟動時,媒體不存在。 需要明確的作業才能配置資源。 此屬性繼承自 CIM_ResourceAllocationSettingData 。
AutomaticDeallocation
資料類型: 布林值
存取類型:唯讀
指出是否會自動設定資源。 例如,當此屬性設定為 True 且取用的虛擬機器已開啟電源時,將會配置此資源。 當此屬性為 False 時,必須明確配置資源。 例如,此設定可能代表卸載式媒體(例如 CD-ROM 或磁碟片),其中啟動時,媒體不存在。 需要明確的作業才能配置資源。 此屬性繼承自 CIM_ResourceAllocationSettingData 。
標題
資料類型: 字串
存取類型:唯讀
限定詞: MaxLen (64)
物件的簡短描述。 此屬性繼承自 CIM_ManagedElement 。
連線
資料類型: 字串 陣列
存取類型:唯讀
此資源所連接的裝置。 例如,具名網路或交換器埠。 此屬性繼承自 CIM_ResourceAllocationSettingData 。
ConsumerVisibility
資料類型: uint16
存取類型:唯讀
描述已配置資源的取用者可見度。 此屬性繼承自 CIM_ResourceAllocationSettingData 。
描述
資料類型: 字串
存取類型:唯讀
物件的描述。 此屬性繼承自 CIM_ManagedElement 。
DynamicMemoryEnabled
資料類型: 布林值
存取類型:唯讀
指出是否為虛擬機器啟用動態記憶體。
ElementName
資料類型: 字串
存取類型:唯讀
物件的顯示名稱。 此屬性繼承自 CIM_SettingData 。
HostResource
資料類型: 字串 陣列
存取類型:唯讀
這個陣列的第一個專案包含要指派之基礎主機資源的參考。 此屬性繼承自 CIM_ResourceAllocationSettingData ,但不會使用。
HugePagesEnabled
資料類型: 布林值
存取類型:唯讀
記憶體是否由 1GB 頁面支援。
InstanceID
資料類型: 字串
存取類型:唯讀
限定詞: 索引鍵
唯一識別這個類別的實例。 此屬性繼承自 CIM_ManagedElement 。
IsVirtualized
資料類型: 布林值
存取類型:唯讀
指出此裝置是否已虛擬化或通過。 當設定為 False 時,會使用基礎或主機資源。 DeviceID 屬性中至少應該有 一個專案。 當設定為 True 時,資源會虛擬化,而且可能不會直接對應至基礎/主機資源。 某些實作可能支援虛擬化資源的特定指派,在此情況下,主機資源會使用 DeviceID 屬性公開。 此屬性一律設定為 True 。
限制
資料類型: uint64
存取類型:唯讀
虛擬機器可能耗用的最大記憶體數量。 對於已啟用動態記憶體的虛擬機器,這代表記憶體上限設定。 此屬性繼承自 CIM_ResourceAllocationSettingData 。
MappingBehavior
資料類型: uint16
存取類型:唯讀
指定此資源對應至基礎資源的方式。 此屬性繼承自 CIM_ResourceAllocationSettingData 。
MaxMemoryBlocksPerNumaNode
資料類型: uint64
存取類型:唯讀
虛擬機器內可觀察到的最大記憶體數量,因為屬於單一 NUMA 節點。
OtherResourceType
資料類型: 字串
存取類型:唯讀
字串,描述定義良好的值無法使用時的資源類型,且 ResourceType 具有值 「Other」。 此屬性繼承自 CIM_ResourceAllocationSettingData 。
上層
資料類型: 字串
存取類型:唯讀
資源的父代。 例如,目前配置的控制器。 此屬性繼承自 CIM_ResourceAllocationSettingData 。
PoolID
資料類型: 字串
存取類型:唯讀
配置此資源的資源集區識別碼。 此屬性繼承自 CIM_ResourceAllocationSettingData 。
保留
資料類型: uint64
存取類型:唯讀
指定保證可供此虛擬機器使用之記憶體數量。 對於已啟用動態記憶體的虛擬機器,這代表最小記憶體設定。 此屬性繼承自 CIM_ResourceAllocationSettingData 。
ResourceSubType
資料類型: 字串
存取類型:唯讀
字串,描述此資源的實作特定子類型。 例如,這可用來區分相同資源類型的不同模型。 此屬性繼承自 CIM_ResourceAllocationSettingData 。
ResourceType
資料類型: uint16
存取類型:唯讀
此配置設定所代表的資源類型。 這個屬性繼承自 CIM_ResourceAllocationSettingData ,而且一律會設定為 4 (記憶體)。
SgxEnabled
資料類型: 布林值
存取類型:唯讀
指出是否已啟用 SGX。
注意
這個屬性已在 Windows 10 版本 1703 中新增。
SgxSize
資料類型: uint64
存取類型:唯讀
要配置給 VM 的 SGX 記憶體數量,以 MB 為單位。
注意
這個屬性已在 Windows 10 版本 1703 中新增。
SwapFilesInUse
資料類型: 布林值
存取類型:唯讀
如果第二層分頁為使用中,則為 true ;否則為 false 。
TargetMemoryBuffer
資料類型: uint32
存取類型:唯讀
定義應該在執行時間保留給虛擬機器的額外記憶體數量,以虛擬機器所認為需要的總記憶體百分比來定義。 這只適用于已啟用動態記憶體的虛擬機器。
此屬性的範圍可以是 5 到 2000。
VirtualQuantity
資料類型: uint64
存取類型:唯讀
虛擬機器中的 RAM 總數,如客體作業系統所見。 對於啟用動態記憶體的虛擬機器,這代表啟動時可用的初始記憶體。 此屬性繼承自 CIM_ResourceAllocationSettingData 。
VirtualQuantityUnits
資料類型: 字串
存取類型:唯讀
指定此資源配置的度量單位。 此屬性的值必須是程式設計單位限定詞的法律值,如 DSP0004 V2.5 或更新版本之附錄 C.1 中所定義。 此屬性繼承自 CIM_ResourceAllocationSettingData 。
Weight
資料類型: uint32
存取類型:唯讀
定義每個虛擬機器的記憶體配置加權值。 符合所有保留之後,主機平臺的剩餘記憶體將會根據其相對權數配置給虛擬機器(不要超過 Limit 屬性所 指定的值)。 此屬性繼承自 CIM_ResourceAllocationSettingData 。
備註
Msvm_MemorySettingData 類別的 存取可能會受到 UAC 篩選的限制。 如需詳細資訊,請參閱 使用者帳戶控制和 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."
}
需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 8 [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows Server 2012 [僅限傳統型應用程式] |
Namespace |
Root\Virtualization\V2 |
MOF |
WindowsVirtualization.V2.mof |
DLL |
Vmms.exe |