This document describes the machine families, machine series, and machine types
that you can choose from to create a virtual machine (VM) instance with the
resources you need. When you create a VM, you select a machine type from a
machine family that determines the resources available to that VM. There are
several machine families you can choose from and each machine family is further
organized into machine series and predefined machine types within each series.
For example, within the N2 series in the general-purpose machine family, you can
select the n2-standard-4
machine type.
All machine series support preemptible VMs, with the exception of the M2 machine series.
- General-purpose—best price-performance ratio for a variety of workloads.
- Compute-optimized—highest performance per core on Compute Engine and optimized for compute-intensive workloads.
- Memory-optimized—ideal for memory-intensive workloads, offering more memory per core than other machine families, with up to 12 TB of memory.
- Accelerator-optimized—ideal for massively parallelized Compute Unified Device Architecture (CUDA) compute workloads, such as machine learning (ML) and high performance computing (HPC). This family is the best option for workloads that require GPUs.
This document uses the following terms:
Machine family: A curated set of processor and hardware configurations optimized for specific workloads. When you create a VM instance, you choose a predefined or custom machine type from your preferred machine family.
Series: Machine families are further classified by series and generation. For example, the N1 series within the general-purpose machine family is the older version of the N2 series. Generally, generations of a machine series use a higher number to describe the newer generation. For example, the N2 series is the newer generation of the N1 series.
Machine type: Every machine series has predefined machine types that provide a set of resources for your VM. If a predefined machine type does not meet your needs, you can also create a custom machine type.
Try it for yourself
If you're new to Google Cloud, create an account to evaluate how Compute Engine performs in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
Try Compute Engine freeMachine family and series recommendations
The following table provides recommendations for different workloads.
Workload type | |||||
---|---|---|---|---|---|
General-purpose workloads | Optimized workloads | ||||
Cost-optimized | Balanced | Scale-out optimized | Memory-optimized | Compute-optimized | Accelerator-optimized |
E2 | N2, N2D, N1 | Tau T2D, Tau T2A | M3, M2, M1 | C2, C2D | A2 |
Day-to-day computing at a lower cost | Balanced price/performance across a wide range of machine types | Best performance/cost for scale-out workloads | Ultra high-memory workloads | Ultra high performance for compute-intensive workloads | Optimized for high performance computing workloads |
|
|
|
|
|
|
After you create a VM, you can use rightsizing recommendations to optimize resource utilization based on your workload. For more information, see Applying machine type recommendations for VM instances.
General-purpose machine family guide
The general-purpose machine family offers several machine series with the best price-performance ratio for a variety of workloads.
Compute Engine offers general-purpose machine families that run on either x86 or Arm architecture.
x86
- Cost-optimized E2 machine series has up to 32 vCPUs with up to 128 GB of memory with a maximum of 8 GB per vCPU. The E2 machine series has a predefined CPU platform, running either an Intel processor or the second generation AMD EPYC Rome processor. The processor is selected for you when you create the VM. This machine series provides a variety of compute resources for the lowest price on Compute Engine, especially when paired with committed-use discounts.
- N2 machine series has up to 128 vCPUs, 8 GB of memory per vCPU, and is available on the Intel Ice Lake and Cascade Lake CPU platforms.
- N2D machine series has up to 224 vCPUs, 8 GB of memory per vCPU, and is available on second generation AMD EPYC Rome and third generation AMD EPYC Milan platforms.
- Tau T2D machine series provides an optimized feature set for scaling out. Each VM can have up to 60 vCPUs, 4 GB of memory per vCPU, and is available on third generation AMD EPYC Milan processors. The Tau T2D machine series has cluster-threading disabled, therefore a vCPU is equivalent to an entire core.
- N1 machine series have up to 96 vCPUs, 6.5 GB of memory per vCPU, and are available on Intel Sandy Bridge, Ivy Bridge, Haswell, Broadwell, and Skylake CPU platforms.
The E2 and N1 series contain shared-core machine types. These machine types timeshare a physical core which can be a cost-effective method for running small, non-resource intensive apps.
E2: offers 2 vCPUs for short periods of bursting.
N1: offers
f1-micro
andg1-small
shared-core machine types which have up to 1 vCPU available for short periods of bursting.
Arm
- Tau T2A machine series is the first machine series in Google Cloud to run on Arm processors. The Tau T2A machine is optimized to deliver compelling price for performance. Each VM can have up to 48 vCPUs with 4 GB of memory per vCPU. The Tau T2A machine series runs on a 64 core Ampere Altra processor with an Arm instruction set and an all-core frequency of 3 GHz. Tau T2A machine types support a single NUMA node and a vCPU is equivalent to an entire core.
Compute-optimized machine family guide
The compute-optimized machine family has the highest performance per core on Compute Engine and is optimized for compute-intensive workloads. Machine series in this family runs on either an Intel Scalable Processor (Cascade Lake) that can sustain up to 3.9 GHz all-core turbo, or the 3rd generation AMD EPYC Milan processor offering up to 3.5 GHz max boost frequency.
- C2 VMs offer up to 60 vCPUs, 4 GB of memory per vCPU, and are available on the Intel Cascade Lake CPU platform.
- C2D VMs offer up to 112 vCPUs, 4 GB of memory per vCPU, and are available on the third generation AMD EPYC Milan platform.
Memory-optimized and accelerator-optimized machine families guide
The memory-optimized machine family has machine series that are ideal for OLAP and OLTP SAP workloads, genomic modeling, electronic design automation, and your most memory intensive HPC workloads. This family offers more memory per core than any other machine family, with up to 12 TB of memory.
- M1 VMs offer up to 160 vCPUs, 14.9 GB to 24 GB of memory per vCPU, and are available on the Intel Skylake and Broadwell CPU platforms.
- M2 VMs are available as 6 TB, 9 TB, and 12 TB machine types, and are available on the Intel Cascade Lake CPU platform.
- M3 VMs offer up to 128 vCPUs, with up to 30.5 GB of memory per vCPU, and are available on the Intel Ice Lake CPU platform.
The accelerator-optimized machine family is ideal for massively parallelized Compute Unified Device Architecture (CUDA) compute workloads, such as machine learning (ML) and high performance computing (HPC). This family is the optimal choice for workloads that require GPUs.
- A2 VMs offer 12 to 96 vCPUs, up to 1360 GB of memory, and are available on the Intel Cascade Lake CPU platform.
Machine series comparison
Use the following table to compare each machine family and determine which one is appropriate for your workload. If, after reviewing this section, you are still unsure which family is best for your workload, start with the general-purpose machine family. For details about all supported processors, see CPU platforms.
To learn how your selection affects the performance of persistent disks attached to your VMs, see Disk performance by machine type and vCPU count.
Compare the characteristics of different machine types, from N1 to A2. You can select specific properties in the Choose VM properties to compare field to compare across all VM machine types, in the table below.
General purpose | General purpose | General purpose | Scale-out optimized general purpose | Scale-out optimized general purpose | Cost optimized | Compute optimized | Compute optimized | Memory optimized | Memory optimized | Memory optimized | Accelerator optimized | Accelerator optimized |
Skylake, Broadwell, Haswell, Sandy Bridge, and Ivy Bridge | Cascade Lake and Ice Lake | AMD EPYC Rome and AMD EPYC Milan | AMD EPYC Milan | Ampere Altra | Skylake, Broadwell, Haswell, AMD EPYC Rome, and AMD EPYC Milan | Cascade Lake | AMD EPYC Milan | Skylake and Broadwell | Cascade Lake | Ice Lake | Skylake,Broadwell,Haswell,Sandy Bridge, and Ivy Bridge | Cascade Lake |
x86 | x86 | x86 | x86 | Arm | x86 | x86 | x86 | x86 | x86 | x86 | x86 | x86 |
1 to 96 | 2 to 128 | 2 to 224 | 1 to 60 | 1 to 48 | 0.25 to 32 | 4 to 60 | 2 to 112 | 40 to 160 | 208 to 416 | 32 to 128 | 1 to 96 | 12 to 96 |
Thread | Thread | Thread | Core | Core | Thread | Thread | Thread | Thread | Thread | Thread | Thread | Thread |
1.8 to 624 GB | 2 to 864 GB | 2 to 896 GB | 4 to 240 GB | 4 to 192 GB | 1 to 128 GB | 16 to 240 GB | 4 to 896 GB | 961 to 3844 GB | 5888 to 11776 GB | 976 to 3904 GB | 3.75 to 624 GB | 85 to 1360 GB |
— | — | — | — | — | — | — | — | — | ||||
— | — | — | — | — | ||||||||
— | — | — | — | — | — | — | — | — | — | |||
— | — | — | — | — | — | — | — | |||||
— | — | — | — | — | — | — | — | — | — | — | ||
SCSI and NVMe | SCSI and NVMe | SCSI and NVMe | SCSI and NVMe | NVMe | SCSI and NVMe | SCSI and NVMe | SCSI and NVMe | SCSI and NVMe | SCSI and NVMe | NVMe | SCSI and NVMe | SCSI and NVMe |
— | — | — | — | |||||||||
9 TB | 9 TB | 9 TB | 0 | 0 | 0 | 3 TB | 3 TB | 3 TB | 0 | 3 TB | 9 TB | 3 TB |
Zonal and Regional | Zonal and Regional | Zonal and Regional | Zonal | Zonal | Zonal and Regional | Zonal | Zonal | Zonal | Zonal | Zonal | Zonal and Regional | Zonal |
Zonal and Regional | Zonal and Regional | Zonal and Regional | Zonal | Zonal | Zonal and Regional | Zonal | Zonal | Zonal | Zonal | Zonal | Zonal and Regional | Zonal |
Zonal and Regional | Zonal and Regional | Zonal and Regional | Zonal | Zonal | Zonal and Regional | Zonal | Zonal | Zonal | Zonal | Zonal | Zonal and Regional | Zonal |
— | — | — | — | — | — | — | — | — | ||||
— | — | — | — | — | — | — | — | — | — | — | ||
gVNIC and VirtIO-Net | gVNIC and VirtIO-Net | gVNIC and VirtIO-Net | gVNIC and VirtIO-Net | gVNIC | gVNIC and VirtIO-Net | gVNIC and VirtIO-Net | gVNIC and VirtIO-Net | gVNIC and VirtIO-Net | gVNIC and VirtIO-Net | gVNIC | gVNIC and VirtIO-Net | gVNIC and VirtIO-Net |
2 to 32 Gbps | 10 to 32 Gbps | 10 to 32 Gbps | 10 to 32 Gbps | 10 to 32 Gbps | 1 to 16 Gbps | 10 to 32 Gbps | 10 to 32 Gbps | 32 Gbps | 32 Gbps | 32 Gbps | 2 to 32 Gbps | 24 to 100 Gbps |
— | 50 to 100 Gbps | 50 to 100 Gbps | — | — | — | 50 to 100 Gbps | 50 to 100 Gbps | — | — | yes | — | 50 to 100 Gbps |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 8 | 16 |
SUD, CUD, and Spot | SUD, CUD, and Spot | SUD, CUD, and Spot | CUD and Spot | Spot | CUD and Spot | SUD, CUD, and Spot | CUD and Spot | SUD, CUD, and Spot | SUD and CUD | CUD | SUD, CUD, and Spot | CUD and Spot |
1.00 | 1.28 | 1.46 | 2.29 | — | 1.04 | 1.43 | 1.50 | 0.96 | 1.00 | — | — | — |
GPUs and VMs
GPUs are used to accelerate workloads. You can only attach GPUs to VMs using the N1 machine series or the A2 machine series. GPUs are not supported by other machine series.
VMs with lower numbers of GPUs are limited to a maximum number of vCPUs. In general, a higher number of GPUs lets you create instances with a higher number of vCPUs and memory. For more information, see GPUs on Compute Engine.
What's next
- Learn how to create and start a VM instance
- Learn how to create a VM instance with a custom machine type.
- Complete the Quickstart using a Linux VM
- Complete the Quickstart using a Windows VM
- Learn more about attaching block storage to your VMs