共用方式為


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

另請參閱