Machine families

This document defines the Google Cloud console terms used to describe virtual machine (VM) instances. VMs are the underlying hardware you use for developing apps and running your workloads. All VMs are categorized by machine family. The second generation of general-purpose VMs includes E2, E2 shared-core, N2, N2D, and Tau T2D. N1, and N1 shared-core VMs are in the first generation. All machine families support preemptible VMs, with the exception of M2 memory-optimized VMs.

Note: This is a list of Compute Engine machine families. For a detailed explanation of each family, see the following pages:
  • 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.

Machine configurations are defined by the following terms:

  • Machine family: A curated set of processor and hardware configurations optimized for specific workloads. During the VM creation process, you choose your preferred machine family and configure your VM.
  • Series: Within the console, machine families are further classified by series generation. Newer VMs are listed under second generation, and older VMs are listed under first generation.
  • Machine type: Every machine family has predefined machine shapes that have a specific vCPU to memory ratio that fits a variety of workload needs. If a predefined machine type does not meet your needs, you can create a custom machine for any general-purpose VM.

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 free

Billing

You are billed for the resources that a VM uses. When you create a VM, you select a machine type for the instance and are billed as described in the VM instance pricing page. Specifically, you are billed for each vCPU and GB of memory individually, as described in resource-based billing model. Applicable discounts, such as sustained use discounts and committed use discounts apply.

To see the calculated hourly and monthly cost for each machine type, see VM instance pricing.

Machine family categories

The general-purpose machine family offers different machine types with the best price-performance ratio for a variety of workloads.

  • Cost-optimized E2 VMs offer up to 32 vCPUs with up to 128 GB of memory with a maximum of 8 GB per vCPU. E2 VMs have a predefined CPU platform running either an Intel processor or the second generation AMD EPYC Rome processor, which is selected for you at the time of VM creation. E2 VMs provide a variety of compute resources for the lowest price on Compute Engine, especially when paired with committed-use discounts.
  • N2 VMs offer up to 128 vCPUs, 8 GB of memory per vCPU, and are available on the Intel Ice Lake and Cascade Lake CPU platforms.
  • N2D VMs offer up to 224 vCPUs, 8 GB of memory per vCPU, and are available on second generation AMD EPYC Rome platforms.
  • Tau T2D VMs in Preview offer up to 60 vCPUs, 4 GB of memory per vCPU, and are available on third generation AMD EPYC Milan processors. Tau T2D VMs have cluster-threading disabled, therefore a vCPU is equivalent to an entire core.
  • N1 VMs offer 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.

Shared-core VMs are available for E2 and N1 in the general-purpose family. These VMs timeshare a physical core. This can be a cost-effective method for running small, non-resource intensive apps.

  • E2: e2-micro, e2-small, and e2-medium shared-core VMs have 2 vCPUs available for short periods of bursting.
  • N1: f1-micro and g1-small shared-core VMs have up to 1 vCPU available for short periods of bursting.

The compute-optimized machine family offers the highest performance per core on Compute Engine and are optimized for compute-intensive workloads. Compute-optimized VMs run on an Intel Scalable Processor (Cascade Lake) and sustain up to 3.8 GHz all-core turbo.

The memory-optimized machine family offers VMs that are ideal for memory-intensive workloads. Memory-optimized VMs offer more memory per core than any other machine family, with up to 12 TB of memory.

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). Accelerator-optimized VMs are the optimal choice for workloads that require GPUs.

Recommendations for machine families

See VM recommendations to learn about selecting the right VM for your workload.

The following table provides VM recommendations for different workloads.

General purpose Workload optimized
Cost-optimized Balanced Scale-out optimized Memory-optimized Compute-optimized Accelerator-optimized
E2 N2, N2D, N1 Tau T2D M2, M1 C2 A2
Day-to-day computing at a lower cost Balanced price/performance across a wide range of VM shapes Best performance/cost for scale-out workloads Ultra high-memory workloads Ultra high performance for compute-intensive workloads Optimized for high performance computing workloads
  • Web serving
  • App serving
  • Back office apps
  • Small-medium databases
  • Microservices
  • Virtual desktops
  • Development environments
  • Web serving
  • App serving
  • Back office apps
  • Medium-large databases
  • Cache
  • Media/streaming
  • Scale-out workloads
  • Web serving
  • Containerized microservices
  • Media transcoding
  • Large-scale Java applications
  • Medium-large in-memory databases such as SAP HANA
  • In-memory databases and in-memory analytics
  • Microsoft SQL Server and similar databases
  • Compute-bound workloads
  • High-performance web serving
  • Gaming (AAA game servers)
  • Ad serving
  • High-performance computing (HPC)
  • Media transcoding
  • AI/ML
  • CUDA-enabled ML training and inference
  • HPC
  • Massive parallelized computation
  • Machine family comparison

    Use the following table to compare each category of machine family and determine which one is appropriate for your workload. If, after reviewing this section, you are still unsure which machine family is best for your workload, start with a general-purpose machine. See CPU platforms for details about all supported processors.

    To learn how your VM selection affects the performance of persistent disks attached to your VMs, see Configuring your persistent disks and VMs.

    Machine families vCPUs Memory (per vCPU) Processors Custom VMs Local SSDs Sustained-use discounts Preemptible VMs
    E2* General-purpose 2–32 0.5–8 GB
    • Skylake
    • Broadwell
    • Haswell
    • AMD EPYC Rome
    Yes No No Yes
    E2* shared-core 0.25–1 0.5–8 GB
    • Skylake
    • Broadwell
    • Haswell
    • AMD EPYC Rome
    Yes No No Yes
    N2 General-purpose 2–128 0.5–8 GB
    • Cascade Lake
    • Ice Lake
    Yes Yes Yes Yes
    N2D General-purpose 2–224 0.5–8 GB
    • AMD EPYC Rome
    Yes Yes Yes Yes
    T2D General-purpose 1–60 4 GB
    • AMD EPYC Milan
    No No No Yes
    N1 General-purpose 1–96 0.95–6.5 GB
    • Skylake
    • Broadwell
    • Haswell
    • Sandy Bridge
    • Ivy Bridge
    Yes Yes Yes Yes
    N1 shared-core 0.2–0.5 3.0–3.4 GB
    • Skylake
    • Broadwell
    • Haswell
    • Ivy Bridge
    • Sandy Bridge
    No No Yes Yes
    C2 Compute-optimized 4–60 4 GB
    • Cascade Lake
    No Yes Yes Yes
    M1 Memory-optimized megamem 96 14.9 GB
    • Skylake
    No Yes Yes Yes
    M1 Memory-optimized ultramem 40–160 28.3 GB
    • Broadwell E7
    No No Yes Yes
    M2 Memory-optimized ultramem 208–416 28.3 GB
    • Cascade Lake
    No No Yes No
    A2 Accelerator-optimized high-gpu 12–96 7 GB
    • Cascade Lake
    No Yes No Yes
    A2 Accelerator-optimized mega-gpu 96 14 GB
    • Cascade Lake
    No Yes No Yes
    *For E2 VMs, your processor is selected for you.
    E2 VMs support up to 128 GB of memory total.
    N2D standard and high-CPU VMs have up to 224 vCPUs.

    GPUs and VMs

    GPUs are used to accelerate and workloads. You can only attach GPUs to general-purpose N1 VMs or accelerator-optimized A2 VMs. GPUs are not supported by other machine families.

    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