kelas Msvm_MemorySettingData

Mewakili status memori yang dikonfigurasi untuk komputer virtual.

Sintaks berikut adalah kode Managed Object Format (MOF) yang disederhanakan, dan mencakup semua properti yang diwariskan.

Sintaks

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

Anggota

Kelas Msvm_MemorySettingData memiliki jenis anggota ini:

Properti

Kelas Msvm_MemorySettingData memiliki properti ini.

Alamat

Jenis data: string

Jenis akses: baca-saja

Alamat sumber daya. Misalnya, alamat MAC port Ethernet. Properti ini diwariskan dari CIM_ResourceAllocationSettingData.

AddressOnParent

Jenis data: string

Jenis akses: baca-saja

Menjelaskan alamat sumber daya ini dalam konteks induk. Properti Induk dan AddressOnParent digunakan untuk menjelaskan hubungan pengontrol serta urutan perangkat pada pengontrol. Properti ini diwariskan dari CIM_ResourceAllocationSettingData.

AllocationUnits

Jenis data: string

Jenis akses: baca-saja

Unit alokasi yang digunakan oleh properti Reservasi dan Batas . Properti ini diwariskan dari CIM_ResourceAllocationSettingData.

AutomaticAllocation

Jenis data: boolean

Jenis akses: baca-saja

Menunjukkan apakah sumber daya akan dialokasikan secara otomatis. Misalnya, ketika properti ini diatur ke True dan komputer virtual yang menggunakan diaktifkan, sumber daya ini akan dialokasikan. Nilai False menunjukkan bahwa sumber daya harus dialokasikan secara eksplisit. Misalnya, pengaturan dapat mewakili media yang dapat dilepas (seperti CD-ROM atau disket) di mana saat startup, media tidak ada. Operasi eksplisit diperlukan untuk mengalokasikan sumber daya. Properti ini diwariskan dari CIM_ResourceAllocationSettingData.

AutomaticDeallocation

Jenis data: boolean

Jenis akses: baca-saja

Menunjukkan apakah sumber daya akan dialokasikan secara otomatis. Misalnya ketika properti ini diatur ke True dan komputer virtual yang menggunakan diaktifkan, sumber daya ini akan dialokasikan. Ketika properti ini False, sumber daya harus dialokasikan secara eksplisit. Misalnya, pengaturan dapat mewakili media yang dapat dilepas (seperti CD-ROM atau disket) di mana saat startup, media tidak ada. Operasi eksplisit diperlukan untuk mengalokasikan sumber daya. Properti ini diwariskan dari CIM_ResourceAllocationSettingData.

Keterangan

Jenis data: string

Jenis akses: baca-saja

Kualifikasi: MaxLen (64)

Deskripsi singkat tentang objek. Properti ini diwariskan dari CIM_ManagedElement.

Connection

Jenis data: array string

Jenis akses: baca-saja

Perangkat tempat sumber daya ini tersambung. Misalnya, jaringan bernama atau port switch. Properti ini diwariskan dari CIM_ResourceAllocationSettingData.

ConsumerVisibility

Jenis data: uint16

Jenis akses: baca-saja

Menjelaskan visibilitas konsumen ke sumber daya yang dialokasikan. Properti ini diwariskan dari CIM_ResourceAllocationSettingData.

Deskripsi

Jenis data: string

Jenis akses: baca-saja

Deskripsi objek. Properti ini diwariskan dari CIM_ManagedElement.

DynamicMemoryEnabled

Jenis data: boolean

Jenis akses: baca-saja

Menunjukkan apakah memori dinamis diaktifkan untuk komputer virtual.

ElementName

Jenis data: string

Jenis akses: baca-saja

Nama tampilan untuk objek. Properti ini diwariskan dari CIM_SettingData.

HostResource

Jenis data: array string

Jenis akses: baca-saja

Elemen pertama dari array ini berisi referensi ke sumber daya host yang mendasar yang akan ditetapkan. Properti ini diwariskan dari CIM_ResourceAllocationSettingData, tetapi tidak digunakan.

HugePagesEnabled

Jenis data: boolean

Jenis akses: baca-saja

Apakah memori didukung oleh halaman 1GB atau tidak.

InstanceID

Jenis data: string

Jenis akses: baca-saja

Kualifikasi: Kunci

Secara unik mengidentifikasi instans kelas ini. Properti ini diwariskan dari CIM_ManagedElement.

IsVirtualized

Jenis data: boolean

Jenis akses: baca-saja

Menunjukkan apakah perangkat ini divirtualisasi atau diteruskan. Saat diatur ke False, sumber daya yang mendasar atau host digunakan. Setidaknya satu item harus ada di properti DeviceID . Ketika diatur ke True, sumber daya divirtualisasi dan mungkin tidak memetakan langsung ke sumber daya yang mendasar/host. Beberapa implementasi dapat mendukung penugasan khusus untuk sumber daya virtual, dalam hal ini sumber daya host diekspos dengan menggunakan properti DeviceID . Properti ini selalu diatur ke True.

Batas

Jenis data: uint64

Jenis akses: baca-saja

Jumlah maksimum memori yang dapat dikonsumsi oleh komputer virtual. Untuk komputer virtual dengan memori dinamis diaktifkan, ini mewakili pengaturan memori maksimum. Properti ini diwariskan dari CIM_ResourceAllocationSettingData.

PemetaanBehavior

Jenis data: uint16

Jenis akses: baca-saja

Menentukan bagaimana sumber daya ini dipetakan ke sumber daya yang mendasar. Properti ini diwariskan dari CIM_ResourceAllocationSettingData.

MaxMemoryBlocksPerNumaNode

Jenis data: uint64

Jenis akses: baca-saja

Jumlah maksimum memori yang dapat diamati dalam komputer virtual sebagai milik satu simpul NUMA.

OtherResourceType

Jenis data: string

Jenis akses: baca-saja

String yang menjelaskan jenis sumber daya ketika nilai yang ditentukan dengan baik tidak tersedia dan ResourceType memiliki nilai "Lainnya". Properti ini diwariskan dari CIM_ResourceAllocationSettingData.

Parent

Jenis data: string

Jenis akses: baca-saja

Induk sumber daya. Misalnya, pengontrol untuk alokasi saat ini. Properti ini diwariskan dari CIM_ResourceAllocationSettingData.

PoolID

Jenis data: string

Jenis akses: baca-saja

Pengidentifikasi kumpulan sumber daya tempat sumber daya ini dialokasikan. Properti ini diwariskan dari CIM_ResourceAllocationSettingData.

Reservasi

Jenis data: uint64

Jenis akses: baca-saja

Menentukan jumlah memori yang dijamin tersedia untuk komputer virtual ini. Untuk komputer virtual dengan memori dinamis diaktifkan, ini mewakili pengaturan memori minimum. Properti ini diwariskan dari CIM_ResourceAllocationSettingData.

ResourceSubType

Jenis data: string

Jenis akses: baca-saja

String yang menjelaskan subjenis spesifik implementasi untuk sumber daya ini. Misalnya, ini dapat digunakan untuk membedakan model yang berbeda dari jenis sumber daya yang sama. Properti ini diwariskan dari CIM_ResourceAllocationSettingData.

ResourceType

Jenis data: uint16

Jenis akses: baca-saja

Jenis sumber daya yang diwakili pengaturan alokasi ini. Properti ini diwarisi dari CIM_ResourceAllocationSettingData, dan selalu diatur ke 4 (Memori).

SgxEnabled

Jenis data: boolean

Jenis akses: baca-saja

Menunjukkan apakah SGX diaktifkan.

Catatan

Properti ini ditambahkan di Windows 10, versi 1703.

Ukuran SgxSize

Jenis data: uint64

Jenis akses: baca-saja

Jumlah memori SGX yang akan dialokasikan untuk VM, dalam MB.

Catatan

Properti ini ditambahkan di Windows 10, versi 1703.

SwapFilesInUse

Jenis data: boolean

Jenis akses: baca-saja

true jika penomor tingkat kedua aktif; jika tidak, salah.

TargetMemoryBuffer

Jenis data: uint32

Jenis akses: baca-saja

Menentukan jumlah memori tambahan yang harus dicadangkan untuk komputer virtual saat runtime, sebagai persentase dari total memori yang dianggap dibutuhkan komputer virtual. Ini hanya berlaku untuk komputer virtual dengan memori dinamis diaktifkan.

Properti ini bisa berada di kisaran 5 hingga 2000.

VirtualQuantity

Jenis data: uint64

Jenis akses: baca-saja

Jumlah total RAM di komputer virtual, seperti yang terlihat oleh sistem operasi tamu. Untuk komputer virtual dengan memori dinamis diaktifkan, ini mewakili memori awal yang tersedia saat startup. Properti ini diwariskan dari CIM_ResourceAllocationSettingData.

VirtualQuantityUnits

Jenis data: string

Jenis akses: baca-saja

Menentukan satuan pengukuran untuk alokasi sumber daya ini. Nilai properti ini harus merupakan nilai hukum dari kualifikasi Unit Terprogram seperti yang didefinisikan dalam Annex C.1 DSP0004 V2.5 atau yang lebih baru. Properti ini diwariskan dari CIM_ResourceAllocationSettingData.

Beban

Jenis data: uint32

Jenis akses: baca-saja

Menentukan nilai pembobotan alokasi memori untuk setiap komputer virtual. Setelah semua cadangan terpenuhi, sisa memori platform hosting akan dialokasikan ke komputer virtual berdasarkan bobot relatif mereka (tidak melebihi nilai yang ditentukan oleh properti Batas ). Properti ini diwariskan dari CIM_ResourceAllocationSettingData.

Keterangan

Akses ke kelas Msvm_MemorySettingData mungkin dibatasi oleh Pemfilteran UAC. Untuk informasi selengkapnya, lihat Kontrol Akun Pengguna dan WMI.

Contoh

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

Persyaratan

Persyaratan Value
Klien minimum yang didukung
Windows 8 [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2012 [hanya aplikasi desktop]
Ruang nama
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

Baca juga