classe Msvm_MemorySettingData
Rappresenta lo stato configurato della memoria per una macchina virtuale.
La sintassi seguente è un codice MOF (Managed Object Format) semplificato e include tutte le proprietà ereditate.
Sintassi
[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;
};
Membri
La classe Msvm_MemorySettingData ha questi tipi di membri:
Proprietà
La classe Msvm_MemorySettingData ha queste proprietà.
Indirizzo
Tipo di dati: string
Tipo di accesso: sola lettura
Indirizzo della risorsa. Ad esempio, l'indirizzo MAC di una porta Ethernet. Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData.
AddressOnParent
Tipo di dati: string
Tipo di accesso: sola lettura
Descrive l'indirizzo di questa risorsa nel contesto dell'elemento padre. Le proprietà Parent e AddressOnParent vengono utilizzate per descrivere la relazione del controller e l'ordinamento dei dispositivi in un controller. Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData.
AllocationUnits
Tipo di dati: string
Tipo di accesso: sola lettura
Unità di allocazione utilizzate dalle proprietà Reservation e Limit . Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData.
AutomaticAllocation
Tipo di dati: booleano
Tipo di accesso: sola lettura
Indica se la risorsa verrà allocata automaticamente. Ad esempio, quando questa proprietà è impostata su True e la macchina virtuale che usa è attivata, questa risorsa verrà allocata. Il valore False indica che la risorsa deve essere allocata in modo esplicito. Ad esempio, l'impostazione può rappresentare supporti rimovibili (ad esempio un CD-ROM o un disco floppy) in cui all'avvio, il supporto non è presente. Per allocare la risorsa è necessaria un'operazione esplicita. Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData.
AutomaticDeallocation
Tipo di dati: booleano
Tipo di accesso: sola lettura
Indica se la risorsa verrà allocata automaticamente. Ad esempio, quando questa proprietà è impostata su True e la macchina virtuale che usa è attivata, questa risorsa verrà allocata. Quando questa proprietà è False, la risorsa deve essere allocata in modo esplicito. Ad esempio, l'impostazione può rappresentare supporti rimovibili (ad esempio un CD-ROM o un disco floppy) in cui all'avvio, il supporto non è presente. Per allocare la risorsa è necessaria un'operazione esplicita. Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData.
Caption
Tipo di dati: string
Tipo di accesso: sola lettura
Qualificatori: MaxLen (64)
Breve descrizione dell'oggetto. Questa proprietà viene ereditata da CIM_ManagedElement.
Connessione
Tipo di dati: matrice di stringhe
Tipo di accesso: sola lettura
Dispositivo a cui è connessa questa risorsa. Ad esempio, una porta denominata network o switch. Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData.
ConsumerVisibility
Tipo di dati: uint16
Tipo di accesso: sola lettura
Descrive la visibilità dei consumer sulla risorsa allocata. Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData.
Descrizione
Tipo di dati: string
Tipo di accesso: sola lettura
Descrizione dell'oggetto . Questa proprietà viene ereditata da CIM_ManagedElement.
DynamicMemoryEnabled
Tipo di dati: booleano
Tipo di accesso: sola lettura
Indica se la memoria dinamica è abilitata per la macchina virtuale.
ElementName
Tipo di dati: string
Tipo di accesso: sola lettura
Nome visualizzato per l'oggetto. Questa proprietà viene ereditata da CIM_SettingData.
HostResource
Tipo di dati: matrice di stringhe
Tipo di accesso: sola lettura
Il primo elemento di questa matrice contiene un riferimento alla risorsa host sottostante da assegnare. Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData, ma non viene utilizzata.
HugePagesEnabled
Tipo di dati: booleano
Tipo di accesso: sola lettura
Indica se la memoria è supportata o meno da pagine da 1 GB.
InstanceID
Tipo di dati: string
Tipo di accesso: sola lettura
Qualificatori: Chiave
Identifica in modo univoco un'istanza di questa classe. Questa proprietà viene ereditata da CIM_ManagedElement.
IsVirtualized
Tipo di dati: booleano
Tipo di accesso: sola lettura
Indica se il dispositivo è virtualizzato o passato. Se impostato su False, viene usata la risorsa host o sottostante. Almeno un elemento deve essere presente nella proprietà DeviceID . Se impostato su True, la risorsa viene virtualizzata e potrebbe non essere mappata direttamente a una risorsa sottostante/host. Alcune implementazioni possono supportare un'assegnazione specifica per le risorse virtualizzate, nel qual caso le risorse host vengono esposte usando la proprietà DeviceID . Questa proprietà è sempre impostata su True.
Limite
Tipo di dati: uint64
Tipo di accesso: sola lettura
Quantità massima di memoria che può essere utilizzata dalla macchina virtuale. Per una macchina virtuale con memoria dinamica abilitata, rappresenta l'impostazione massima di memoria. Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData.
MappingBehavior
Tipo di dati: uint16
Tipo di accesso: sola lettura
Specifica il mapping di questa risorsa alle risorse sottostanti. Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData.
MaxMemoryBlocksPerNumaNode
Tipo di dati: uint64
Tipo di accesso: sola lettura
Quantità massima di memoria che può essere osservata all'interno della macchina virtuale come appartenente a un singolo nodo NUMA.
OtherResourceType
Tipo di dati: string
Tipo di accesso: sola lettura
Stringa che descrive il tipo di risorsa quando un valore ben definito non è disponibile e ResourceType ha il valore "Other". Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData.
Parent
Tipo di dati: string
Tipo di accesso: sola lettura
Elemento padre della risorsa. Ad esempio, un controller per l'allocazione corrente. Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData.
PoolID
Tipo di dati: string
Tipo di accesso: sola lettura
Identificatore del pool di risorse da cui è stata allocata la risorsa. Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData.
Impegno
Tipo di dati: uint64
Tipo di accesso: sola lettura
Specifica la quantità di memoria garantita per questa macchina virtuale. Per una macchina virtuale con memoria dinamica abilitata, rappresenta l'impostazione di memoria minima. Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData.
ResourceSubType
Tipo di dati: string
Tipo di accesso: sola lettura
Stringa che descrive un sottotipo specifico di implementazione per questa risorsa. Ad esempio, questo può essere usato per distinguere modelli diversi dello stesso tipo di risorsa. Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData.
ResourceType
Tipo di dati: uint16
Tipo di accesso: sola lettura
Tipo di risorsa rappresentato da questa impostazione di allocazione. Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData ed è sempre impostata su 4 (memoria).
SgxEnabled
Tipo di dati: booleano
Tipo di accesso: sola lettura
Indica se SGX è abilitato.
Nota
Questa proprietà è stata aggiunta in Windows 10 versione 1703.
SgxSize
Tipo di dati: uint64
Tipo di accesso: sola lettura
Quantità di memoria SGX da allocare per la macchina virtuale, in MB.
Nota
Questa proprietà è stata aggiunta in Windows 10 versione 1703.
SwapFilesInUse
Tipo di dati: booleano
Tipo di accesso: sola lettura
true se il paging di secondo livello è attivo; in caso contrario, false.
TargetMemoryBuffer
Tipo di dati: uint32
Tipo di accesso: sola lettura
Definisce la quantità di memoria aggiuntiva che deve essere riservata per una macchina virtuale in fase di esecuzione, come percentuale della memoria totale necessaria per la macchina virtuale. Questo vale solo per le macchine virtuali con memoria dinamica abilitata.
Questa proprietà può essere compreso nell'intervallo compreso tra 5 e 2000.
VirtualQuantity
Tipo di dati: uint64
Tipo di accesso: sola lettura
Quantità totale di RAM nella macchina virtuale, come illustrato dal sistema operativo guest. Per una macchina virtuale con memoria dinamica abilitata, rappresenta la memoria iniziale disponibile all'avvio. Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData.
VirtualQuantityUnits
Tipo di dati: string
Tipo di accesso: sola lettura
Specifica l'unità di misura per questa allocazione di risorse. Il valore di questa proprietà deve essere un valore legale del qualificatore unità programmatice come definito nell'allegato C.1 di DSP0004 V2.5 o versione successiva. Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData.
Peso
Tipo di dati: uint32
Tipo di accesso: sola lettura
Definisce il valore di ponderazione dell'allocazione della memoria per ogni macchina virtuale. Dopo che tutte le riserve sono state soddisfatte, la memoria rimanente della piattaforma host verrà allocata alle macchine virtuali in base ai relativi pesi (per non superare il valore specificato dalla proprietà Limit ). Questa proprietà viene ereditata da CIM_ResourceAllocationSettingData.
Osservazioni:
L'accesso alla classe Msvm_MemorySettingData potrebbe essere limitato dal filtro controllo dell'account utente. Per altre informazioni, vedere Controllo dell'account utente e WMI.
Esempi
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."
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 8 [solo app desktop] |
Server minimo supportato |
Windows Server 2012 [solo app desktop] |
Spazio dei nomi |
Root\Virtualization\V2 |
MOF |
WindowsVirtualization.V2.mof |
DLL |
Vmms.exe |