Compute Engine enforces quotas on resource usage for a variety of reasons. For example, quotas protect the community of Google Cloud users by preventing unforeseen spikes in usage. Google Cloud also offers free trial quotas that provide limited access for projects to help you explore Google Cloud on a free trial basis.
Not all projects have the same quotas. As your use of Google Cloud expands over time, your quotas might increase accordingly. If you expect a notable upcoming increase in usage, you can proactively request quota adjustments from the Quotas page in the Cloud Console.
Permissions for checking and editing quota
To view your quotas, you must have serviceusage.quotas.get
permission.
To change your quotas, you must have serviceusage.quotas.update
permission.
This permission is included by default for the following
Basic roles: Owner, Editor, and Quota
Administrator.
Checking your quota
Each project's quota is different. To check the available quota for a project, go to the Quotas page in the Google Cloud Console.
To use the gcloud
command-line tool, run the following command to
check project-wide quotas:
gcloud compute project-info describe --project PROJECT_ID
Replace PROJECT_ID with your own project ID.
Note that the results don't list per-region quotas. To list quotas in a region, run:
gcloud compute regions describe REGION
Replace REGION with the name of the region where you want a list of quota information.
Requesting an increase in quota
Request changes to quota from the Quotas page in the Cloud Console. There is no charge for requesting a quota increase. Your costs increase only if you use more resources.
In the Google Cloud Console, go to Quotas on the IAM & Admin page.
The most efficient way to see your quotas is to use the Filter table.
- Open the Filter table and select Limit name: to search for the quota you want to adjust.
- Select the Service for which you want to adjust your quota.
- Make your selection from the drop-down options.
- Edit your quota limit.
- Click SAVE.
A request to decrease quota is rejected by default. If you must reduce your quota, reply to the support email with an explanation of your requirements. A support representative from the Compute Engine team will respond to your request within 24 to 48 hours.
Plan and request additional resources at least a few days in advance to ensure that there is enough time to fulfill your request.
Quotas and resource availability
Resource quotas are the maximum number of resources you can create of that
resource type, if those resources are available. Quotas do not guarantee
that resources are available at all times. If a resource is not available,
or if the region you choose is out of the resource, you can't create
new resources of that type, even if you have remaining quota in your region
or project. For example, you might still have quota to create external IP
addresses in us-central1
, but there might not be available IP addresses in
that region.
Similarly, even if you have a regional quota, a resource
might not be available in a specific zone. For example, you might have quota in
region us-central1
to create VM instances, but you might not be able to create
VM instances in the zone us-central1-a
if the zone is depleted. In such cases,
try creating the same resource in another zone, such as us-central1-f
. To
learn more about your options if zonal resources are depleted, see
General troubleshooting.
Understanding quotas
When planning your virtual machine (VM) instance needs, there are a number of quotas to consider that affect how many VM instances you can create.
Regional and global quotas
VM quotas are managed at the regional level. VM instance, instance group,
CPU, and disk quotas can be consumed by any VM in the region, regardless of
zone. For example, CPU quota is a regional quota, so there is a different limit
and usage count for each region. To launch an n2-standard-16
instance in any
zone in the us-central1
region, you need enough quota for at least 16 CPUs
in us-central1
.
Networking and load balancing quotas are required to create firewalls, load balancers, networks, and VPNs. These are global quotas that do not depend on a region. Any region can use a global quota. For example, in-use and static external IP addresses assigned to load balancers and HTTP(S) proxies consume global quotas.
CPU quota
CPU quota is the total number of virtual CPUs across all of your VM instances in a region. CPU quotas apply to running instances and instance reservations. Both predefined and preemptible instances consume this quota.
To protect Compute Engine systems and other users, some new accounts
and projects also have a global CPUs (All Regions)
quota that applies to
all regions and is measured as a sum of all your vCPUs in all regions.
For example, if you have 48 vCPUs remaining in a single region such as
us-central1
but only 32 vCPUs remaining for the CPUs (All Regions)
quota,
you can launch only 32 vCPUs in the us-central1
region, even though there is
remaining quota in the region. This is because you will reach the
CPU (All Regions)
quota and need to delete existing instances before you can
launch new instances.
E2 and N1 machine types share a CPU quota pool. N2, N2D, M1, M2, and C2 machine types have unique, separate CPU quota pools. You must have committed use discount quota before you purchase a committed use discount contract.
Machine type | Quota pool | CPU quota name | Committed CPU quota name |
---|---|---|---|
E2, N1 | shared pool | CPUS |
Committed_CPUS |
N2 | separate pool | N2_CPUS |
Committed_N2_CPUS |
N2D | separate pool | N2D_CPUS |
Committed_N2D_CPUS |
M1 | separate pool | M1_CPUS |
Committed_MEMORY-OPTIMIZED_CPUS |
M2 | separate pool | M2_CPUS |
Committed_MEMORY-OPTIMIZED_CPUS |
C2 | separate pool | C2_CPUS |
Committed_C2_CPUS |
A2 | separate pool | A2_CPUS |
Committed_A2_CPUS |
Preemptible VMs | shared pool | PREEMPTIBLE_CPUS |
Not available for preemptible VMs |
GPU quota
Similar to virtual CPU quota, GPU quota refers to the total number of virtual GPUs in all VM instances in a region. Check the quotas page to ensure that you have enough GPUs available in your project, and to request a quota increase. In addition, new accounts and projects have a global GPU quota that applies to all regions.
When you request a GPU quota, you must request a quota for the GPU models that you want to create in each region, and an additional global quota for the total number of GPUs of all types in all zones.
NVIDIA | GPU quota name | Committed GPU quota name | Virtual workstation | Preemptible GPUs | Preemptible GPU virtual workstation |
---|---|---|---|---|---|
K80 | NVIDIA_K80_GPUS |
COMMITTED_NVIDIA_K80_GPUS |
N/A | PREEMPTIBLE_NVIDIA_K80_GPUS |
N/A |
P100 | NVIDIA_P100_GPUS |
COMMITTED_NVIDIA_P100_GPUS |
NVIDIA_P100_VWS_GPUS |
PREEMPTIBLE_NVIDIA_P100_GPUS |
PREEMPTIBLE_NVIDIA_P100_VWS_GPUS |
A100 | NVIDIA_A100_GPUS |
COMMITTED_NVIDIA_A100_GPUS |
N/A |
PREEMPTIBLE_NVIDIA_A100_GPUS |
N/A |
P4 | NVIDIA_P4_GPUS |
COMMITTED_NVIDIA_P4_GPUS |
NVIDIA_P4_VWS_GPUS |
PREEMPTIBLE_NVIDIA_P4_GPUS |
PREEMPTIBLE_NVIDIA_P4_VWS_GPUS |
T4 | NVIDIA_T4_GPUS |
COMMITTED_NVIDIA_T4_GPUS |
NVIDIA_T4_VWS_GPUS |
PREEMPTIBLE_NVIDIA_T4_GPUS |
PREEMPTIBLE_NVIDIA_T4_VWS_GPUS |
V100 | NVIDIA_V100_GPUS |
COMMITTED_NVIDIA_V100_GPUS |
N/A | PREEMPTIBLE_NVIDIA_V100_GPUS |
N/A |
VM instances
The VM instances quota is a regional quota and limits the number of VM instances that can exist in a given region, regardless of whether the VM is running or not. This quota is visible in the Google Cloud Console on the Quotas page. It is set automatically by Compute Engine to be 10x your regular CPU quota. You do not need to request this quota. If you need quota for more VM instances, request more CPUs because having more CPUs increases VM instance quota. The quota applies to both running and non-running VMs, and to normal and preemptible instances.
In the Google Cloud Console, go to Quotas on the IAM & Admin page.
Open the
Filter table and select Service.Choose Compute Engine API.
Choose Limit Name: VM instances.
Click All Quotas to see a list of your VM instance quotas by region. Your region quotas are listed from highest to lowest usage.
Click the checkbox of the region whose quota you want to change.
Click
EDIT QUOTAS.Complete the form.
Click SUBMIT REQUEST.
Quotas for preemptible resources
To use preemptible CPUs or GPUs attached to preemptible VM instances, or to use local SSDs attached to preemptible VM instances, you must have available quota in your project for the respective resource.
You can request special preemptible quotas for:
Preemptible CPUs
, Preemptible GPUs
, or Preemptible Local SSDs (GB)
.
However, if your project does not have preemptible quota, you can still use the
regular quota to launch preemptible resources.
After Compute Engine grants you preemptible quota in a region, all preemptible instances automatically count against preemptible quota.
Disk quotas
The following persistent disk and local SSD quotas apply on a per-region basis:
Local SSD (GB)
. This is the total combined size of local SSD disk partitions that can be attached to VMs in a region. Local SSD is a fast, ephemeral disk that should be used for scratch, local cache, or processing jobs with high fault tolerance because the disk is not intended to survive VM instance reboots. Local SSD partitions are sold in increments of 375 GB and up to 24 local SSD partitions can be attached to a single VM. In thegcloud
tool and the API, this is referred to asLOCAL_SSD_TOTAL_GB
.Persistent disk standard (GB)
. This is the total size of standard persistent disks that can be created in a region. As described in Optimizing persistent disk and local SSD performance, standard persistent disks offer lower IOPS and throughput than SSD persistent disks or local SSD. It is cost effective when used as large durable disks for storage, as boot disks, and for serial write processes like logs. Standard persistent disks are durable and are available indefinitely to attach to a VM within the same zone. In thegcloud
tool and the API, this is referred to asDISKS_TOTAL_GB
. This quota also applies to regional standard persistent disks, but regional disks consume twice the amount of quota per GB due to replication in two zones within a region.Persistent disk SSD (GB)
. This is the total combined size of SSD-backed persistent disks partitions that can be created in a region. SSD-backed persistent disks have multiple replicas and, as described in Block storage performance, offer higher IOPS and throughput than standard persistent disks. SSD-backed persistent disks are available indefinitely to attach to a VM within the same zone. In thegcloud
tool and the API, this is referred to asSSD_TOTAL_GB
. This quota is separate from local SSD. This quota applies to the disk types listed below. Regional persistent disks consume twice the amount of quota per GB due to replication in two zones within a region.- Zonal and regional SSD persistent disk
- Zonal and regional balanced persistent disk
External IP addresses
You must have enough external IP addresses for every VM that needs to be directly reachable from the public internet. Regional IP quota is for assigning IPv4 addresses to VMs in that region. Global IP quota is for assigning IPv4 addresses to global networking resources such as load balancers. Google Cloud offers different types of IP addresses, depending on your needs. For information about costs, refer to External IP address pricing. For information about quota specifics, see Quotas and limits.
- In-use external IP addresses. Includes both ephemeral and static IP addresses that are currently being used by a resource.
- Static External IP addresses: External IP addresses reserved for your resources that persist through machine restarts. You can register these addresses with DNS and domain provider services to provide a user-friendly address. For example, www.example-site.com.
- Static Internal IP addresses: Static internal IP addresses provide the ability to reserve internal IP addresses from the internal IP range configured in the subnet. You can assign those reserved internal addresses to resources as needed.
Instance groups
To use instance groups, you must have available quota for all of the resources that the group will use (for example, CPU quota) as well as available quota for the group resource itself. Depending on the type of group that you create, the following group resource quotas apply:
Service type | Service quota |
---|---|
Regional (multi-zone) managed instance group | Regional instance group managers |
Zonal (single-zone) managed instance group | Both of:
|
Unmanaged (single-zone) instance group | Instance groups |
Regional (multi-zone) autoscaler | Regional autoscalers |
Zonal (single-zone) autoscaler | Autoscalers |