Change the size of a virtual machine

Applies to: ✔️ Linux VMs ✔️ Windows VMs ✔️ Flexible scale sets

This article shows you how to change an existing virtual machine's VM size.

After you create a virtual machine (VM), you can scale the VM up or down by changing the VM size. In some cases, you must deallocate the VM first. Deallocation may be necessary if the new size isn't available on the same hardware cluster that is currently hosting the VM.

If your VM uses Premium Storage, make sure that you choose an s version of the size to get Premium Storage support. For example, choose Standard_E4s_v3 instead of Standard_E4_v3.

Change the VM size

  1. Open the Azure portal.
  2. Open the page for the virtual machine.
  3. In the left menu, select Size.
  4. Pick a new size from the list of available sizes and then select Resize.


If the virtual machine is currently running, changing its size will cause it to restart.

If your VM is still running and you don't see the size you want in the list, stopping the virtual machine may reveal more sizes.


Deallocating the VM also releases any dynamic IP addresses assigned to the VM. The OS and data disks are not affected.

If you are resizing a production VM, consider using Azure Capacity Reservations to reserve Compute capacity in the region.


You can't resize a VM size that has a local temp disk to a VM size with no local temp disk and vice versa.

The only combinations allowed for resizing are:

  • VM (with local temp disk) -> VM (with local temp disk); and
  • VM (with no local temp disk) -> VM (with no local temp disk).

If interested in a work-around, see How do I migrate from a VM size with local temp disk to a VM size with no local temp disk?

Next steps

For more scalability, run multiple VM instances and scale out. For more information, see Automatically scale machines in a Virtual Machine Scale Set.