Classe Msvm_MemorySettingData
Représente l'état configuré de la mémoire pour une machine virtuelle.
La syntaxe suivante est du code au format MOF (Managed Object Format) simplifié. Elle inclut toutes les propriétés héritées.
Syntaxe
[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;
};
Membres
La classe CIM_PreviousSettingDatapossède ces types de membres :
Propriétés
La classe Msvm_MemorySettingData a ces propriétés.
Adresse
Type de données : chaîne
Type d'accès : lecture seule
L'adresse de la ressource. Par exemple, l'adresse MAC d'un port Ethernet. Cette propriété est héritée de CIM_ResourceAllocationSettingData.
AddressOnParent
Type de données : chaîne
Type d'accès : lecture seule
Décrit l'adresse de cette ressource dans le contexte du parent. Les propriétés Parent et AddressOnParent sont utilisées pour décrire la relation du contrôleur, ainsi que le classement des appareils sur un contrôleur. Cette propriété est héritée de CIM_ResourceAllocationSettingData.
AllocationUnits
Type de données : chaîne
Type d'accès : lecture seule
Les unités d'allocation utilisées par les Réservation et Limite. Cette propriété est héritée de CIM_ResourceAllocationSettingData.
AutomaticAllocation
Type de données : booléen
Type d'accès : lecture seule
Indique si la ressource sera automatiquement allouée. Par exemple, lorsque cette propriété est définie sur True et que la machine virtuelle consommatrice est allumée, cette ressource sera allouée. Une valeur False indique que la ressource doit être explicitement allouée. Par exemple, le paramètre peut représenter un support amovible (tel qu'un CD-ROM ou une disquette) sur lequel, au moment du démarrage, le support n'est pas présent. Une opération explicite est requise pour allouer la ressource. Cette propriété est héritée de CIM_ResourceAllocationSettingData.
AutomaticDeallocation
Type de données : booléen
Type d'accès : lecture seule
Indique si la ressource sera automatiquement allouée. Par exemple, lorsque cette propriété est définie sur True et que la machine virtuelle consommatrice est allumée, cette ressource sera allouée. Lorsque cette propriété est False, la ressource doit être allouée explicitement. Par exemple, le paramètre peut représenter un support amovible (tel qu'un CD-ROM ou une disquette) sur lequel, au moment du démarrage, le support n'est pas présent. Une opération explicite est requise pour allouer la ressource. Cette propriété est héritée de CIM_ResourceAllocationSettingData.
Caption
Type de données : chaîne
Type d'accès : lecture seule
Qualificateurs : MaxLen (64)
Brève description de l'objet. Cette propriété est héritée de CIM_ManagedElement.
Connexion
Type de données : tableau de chaînes
Type d'accès : lecture seule
L'appareil auquel cette ressource est connectée. Par exemple, un réseau nommé ou un port de commutateur. Cette propriété est héritée de CIM_ResourceAllocationSettingData.
ConsumerVisibility
Type de données : uint16
Type d'accès : lecture seule
Décrit la visibilité des consommateurs sur la ressource allouée. Cette propriété est héritée de CIM_ResourceAllocationSettingData.
Description
Type de données : chaîne
Type d'accès : lecture seule
Description de l’objet . Cette propriété est héritée de CIM_ManagedElement.
DynamicMemoryEnabled
Type de données : booléen
Type d'accès : lecture seule
Indique si la mémoire dynamique est activée pour la machine virtuelle.
ElementName
Type de données : chaîne
Type d'accès : lecture seule
Nom d'affichage de l'objet. Cette propriété est héritée de CIM_SettingData.
HostResource
Type de données : tableau de chaînes
Type d'accès : lecture seule
Le premier élément de ce tableau contient une référence à la ressource hôte sous-jacente à allouer. Cette propriété est héritée de CIM_ResourceAllocationSettingData, mais n'est pas utilisée.
HugePagesEnabled
Type de données : booléen
Type d'accès : lecture seule
Indique si la mémoire est sauvegardée par 1 Go de pages ou non.
InstanceID
Type de données : chaîne
Type d'accès : lecture seule
Qualificateurs : Key (clé)
Identifie de manière unique une instance de cette classe. Cette propriété est héritée de CIM_ManagedElement.
IsVirtualized
Type de données : booléen
Type d'accès : lecture seule
Indique si cet appareil est virtualisé ou transmis. Lorsqu'elle est définie sur False, la ressource sous-jacente ou hôte est utilisée. Au moins un élément doit être présent dans la propriété DeviceID. Lorsqu'elle est définie sur True, la ressource est virtualisée et peut ne pas être mappée directement à une ressource sous-jacente/hôte. Certaines implémentations peuvent prendre en charge une affectation spécifique pour les ressources virtualisées, auquel cas les ressources hôte sont exposées à l'aide de la propriété DeviceID. Cette propriété a toujours la valeur True.
Limite
Type de données : uint64
Type d'accès : lecture seule
Quantité maximale de mémoire qui peut être consommée par la machine virtuelle. Pour une machine virtuelle avec la mémoire dynamique activée, cela représente le paramètre de mémoire maximal. Cette propriété est héritée de CIM_ResourceAllocationSettingData.
MappingBehavior
Type de données : uint16
Type d'accès : lecture seule
Spécifie comment cette ressource est mappée aux ressources sous-jacentes. Cette propriété est héritée de CIM_ResourceAllocationSettingData.
MaxMemoryBlocksPerNumaNode
Type de données : uint64
Type d'accès : lecture seule
La quantité maximale de mémoire pouvant être observée dans la machine virtuelle comme appartenant à un seul nœud NUMA.
OtherResourceType
Type de données : chaîne
Type d'accès : lecture seule
Chaîne qui décrit le type de ressource lorsqu'une valeur bien définie n'est pas disponible et que ResourceType a la valeur « Autre ». Cette propriété est héritée de CIM_ResourceAllocationSettingData.
Parent
Type de données : chaîne
Type d'accès : lecture seule
Le parent de la ressource. Par exemple, un contrôleur pour l'allocation actuelle. Cette propriété est héritée de CIM_ResourceAllocationSettingData.
ID de pool
Type de données : chaîne
Type d'accès : lecture seule
L'identificateur du pool de ressources à partir duquel cette ressource a été allouée. Cette propriété est héritée de CIM_ResourceAllocationSettingData.
Réservation
Type de données : uint64
Type d'accès : lecture seule
Spécifie la quantité de mémoire garantie comme étant disponible pour cette machine virtuelle. Pour une machine virtuelle avec la mémoire dynamique activée, cela représente le paramètre de mémoire minimal. Cette propriété est héritée de CIM_ResourceAllocationSettingData.
ResourceSubType
Type de données : chaîne
Type d'accès : lecture seule
Une chaîne qui décrit un sous-type spécifique à l'implémentation pour cette ressource. Par exemple, cela peut être utilisé pour distinguer différents modèles du même type de ressource. Cette propriété est héritée de CIM_ResourceAllocationSettingData.
ResourceType
Type de données : uint16
Type d'accès : lecture seule
Le type de ressource représenté par ce paramètre d'allocation. Cette propriété est héritée de CIM_ResourceAllocationSettingData et elle est toujours définie sur 4 (Mémoire).
SgxEnabled
Type de données : booléen
Type d'accès : lecture seule
Indique si SGX est activé.
Remarque
Cette propriété a été ajoutée dans Windows 10, version 1703.
SgxSize
Type de données : uint64
Type d'accès : lecture seule
La quantité de mémoire SGX à allouer pour la machine virtuelle, en Mo.
Remarque
Cette propriété a été ajoutée dans Windows 10, version 1703.
SwapFilesInUse
Type de données : booléen
Type d'accès : lecture seule
true si la pagination de deuxième niveau est active ; sinon, false.
TargetMemoryBuffer
Type de données : uint32
Type d'accès : lecture seule
Définit la quantité de mémoire supplémentaire qui doit être réservée à une machine virtuelle au moment de l'exécution, en tant que pourcentage de la mémoire totale dont la machine virtuelle est censée avoir besoin. Cela s'applique uniquement aux machines virtuelles avec la mémoire dynamique activée.
Cette propriété peut être comprise entre 5 et 2000.
VirtualQuantity
Type de données : uint64
Type d'accès : lecture seule
Quantité totale de RAM dans la machine virtuelle, comme indiqué par le système d'exploitation invité. Pour une machine virtuelle avec la mémoire dynamique activée, cela représente la mémoire initiale disponible au démarrage. Cette propriété est héritée de CIM_ResourceAllocationSettingData.
VirtualQuantityUnits
Type de données : chaîne
Type d'accès : lecture seule
Spécifie l'unité de mesure pour cette allocation des ressources. La valeur de cette propriété doit être une valeur légale du qualificateur d'unités programmatiques, tel que défini dans l'annexe C.1 de DSP0004 V2.5 ou version ultérieure. Cette propriété est héritée de CIM_ResourceAllocationSettingData.
Poids
Type de données : uint32
Type d'accès : lecture seule
Définit la valeur de pondération de l'allocation de mémoire pour chaque machine virtuelle. Une fois toutes les réserves remplies, la mémoire restante de la plateforme d'hébergement sera allouée aux machines virtuelles en fonction de leurs pondérations relatives (ne pas dépasser la valeur spécifiée par la propriété Limite). Cette propriété est héritée de CIM_ResourceAllocationSettingData.
Notes
L'accès à la classe Msvm_MemorySettingData peut être limité par le filtrage UAC. Pour plus d’informations, consultez Contrôle de compte d’utilisateur et WMI.
Exemples
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."
}
Spécifications
Condition requise | Value |
---|---|
Client minimal pris en charge |
Windows 8 [applications de bureau uniquement] |
Serveur minimal pris en charge |
Windows Server 2012 [applications de bureau uniquement] |
Espace de noms |
Root\Virtualization\V2 |
MOF |
WindowsVirtualization.V2.mof |
DLL |
Vmms.exe |