Set-VMMemory
Set-VMMemory
Configures the memory of a virtual machine.
Syntax
Parameter Set: ResourceObject
Set-VMMemory [-VMMemory] <VMMemory[]> [-Buffer <Int32> ] [-DynamicMemoryEnabled <Boolean> ] [-MaximumAmountPerNumaNodeBytes <Int64> ] [-MaximumBytes <Int64> ] [-MinimumBytes <Int64> ] [-Passthru] [-Priority <Int32> ] [-ResourcePoolName <String> ] [-StartupBytes <Int64> ] [ <CommonParameters>]
Parameter Set: VMName
Set-VMMemory [-VMName] <String[]> [-Buffer <Int32> ] [-ComputerName <String[]> ] [-DynamicMemoryEnabled <Boolean> ] [-MaximumAmountPerNumaNodeBytes <Int64> ] [-MaximumBytes <Int64> ] [-MinimumBytes <Int64> ] [-Passthru] [-Priority <Int32> ] [-ResourcePoolName <String> ] [-StartupBytes <Int64> ] [ <CommonParameters>]
Parameter Set: VMObject
Set-VMMemory [-VM] <VirtualMachine[]> [-Buffer <Int32> ] [-DynamicMemoryEnabled <Boolean> ] [-MaximumAmountPerNumaNodeBytes <Int64> ] [-MaximumBytes <Int64> ] [-MinimumBytes <Int64> ] [-Passthru] [-Priority <Int32> ] [-ResourcePoolName <String> ] [-StartupBytes <Int64> ] [ <CommonParameters>]
Detailed Description
The Set-VMMemory cmdlet configures the memory of a virtual machine.
Parameters
-Buffer<Int32>
Specifies the percentage of memory to reserve as a buffer in the virtual machine to be configured. Allowed values range from 5 to 2000.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-ComputerName<String[]>
Specifies one or more Hyper-V hosts on which the memory of a virtual machine is to be configured. NetBIOS names, IP addresses, and fully-qualified domain names are allowable. The default is the local computer — use “localhost” or a dot (“.”) to specify the local computer explicitly.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
. |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-DynamicMemoryEnabled<Boolean>
Specifies whether dynamic memory is to be enabled on the virtual machine to be configured.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-MaximumAmountPerNumaNodeBytes<Int64>
Specifies the maximum amount of memory per NUMA node in the virtual machine to be configured.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-MaximumBytes<Int64>
Specifies the maximum amount of memory to be used by a virtual machine which has dynamic memory enabled.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-MinimumBytes<Int64>
Specifies the minimum amount of memory to be used by a virtual machine which has dynamic memory enabled.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Passthru
Specifies that a Microsoft.Virtualization.Powershell.Memory object is to be passed through to the pipeline representing the virtual machine memory to be configured.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-Priority<Int32>
Sets the priority for memory availability to this virtual machine relative to other virtual machines on the virtual machine host. Allowed values range from 0 to 100.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-ResourcePoolName<String>
Specifies the name of the memory resource pool for this virtual machine.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-StartupBytes<Int64>
Specifies the initial amount of memory to be assigned to a virtual machine with dynamic memory enabled, or the total amount of memory to be assigned to a virtual machine with dynamic memory disabled.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-VM<VirtualMachine[]>
Specifies the virtual machine whose memory is to be configured.
Aliases |
none |
Required? |
true |
Position? |
1 |
Default Value |
none |
Accept Pipeline Input? |
true (ByValue) |
Accept Wildcard Characters? |
false |
-VMMemory<VMMemory[]>
Specifies the virtual machine memory to be configured.
Aliases |
none |
Required? |
true |
Position? |
1 |
Default Value |
none |
Accept Pipeline Input? |
true (ByValue) |
Accept Wildcard Characters? |
false |
-VMName<String[]>
Specifies the name of the virtual machine whose memory is to be configured.
Aliases |
none |
Required? |
true |
Position? |
1 |
Default Value |
none |
Accept Pipeline Input? |
true (ByValue) |
Accept Wildcard Characters? |
true |
<CommonParameters>
This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).
Inputs
The input type is the type of the objects that you can pipe to the cmdlet.
Outputs
The output type is the type of the objects that the cmdlet emits.
- None by default; Microsoft.Virtualization.Powershell.Memory if –PassThru is specified.
Examples
Example 1
Enables dynamic memory on virtual machine TestVM, sets its minimum, startup, and maximum memory, its memory priority, and its buffer.
PS C:\> Set-VMMemory TestVM -DynamicMemoryEnabled $true -MinimumBytes 64MB -StartupBytes 256MB -MaximumBytes 2GB -Priority 80 -Buffer 25