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