Batch service quotas and limits
As with other Azure services, there are limits on certain resources associated with the Batch service. Many of these limits are default quotas applied by Azure at the subscription or account level.
Keep these quotas in mind as you design and scale up your Batch workloads. For example, if your pool doesn't reach the target number of compute nodes you specified, you might have reached the core quota limit for your Batch account.
You can run multiple Batch workloads in a single Batch account, or distribute your workloads among Batch accounts that are in the same subscription but in different Azure regions.
If you plan to run production workloads in Batch, you may need to increase one or more of the quotas above the default. To raise a quota, you can request a quota increase at no charge.
Resource quotas
A quota is a limit, not a capacity guarantee. If you have large-scale capacity needs, please contact Azure support.
Also note that quotas are not guaranteed values. Quotas can vary based on changes from the Batch service or a user request to change a quota value.
| Resource | Default limit | Maximum limit |
|---|---|---|
| Azure Batch accounts per region per subscription | 1-3 | 50 |
| Dedicated cores per Batch account | 90-900 | Contact support |
| Low-priority cores per Batch account | 10-100 | Contact support |
| Active jobs and job schedules per Batch account (completed jobs have no limit) | 100-300 | 1,0001 |
| Pools per Batch account | 20-100 | 5001 |
1To request an increase beyond this limit, contact Azure Support.
Note
Default limits vary depending on the type of subscription you use to create a Batch account. Cores quotas shown are for Batch accounts in Batch service mode. View the quotas in your Batch account.
Important
To help us better manage capacity during the global health pandemic, the default core quotas for new Batch accounts in some regions and for some types of subscription have been reduced from the above range of values, in some cases to zero cores. When you create a new Batch account, check your core quota and request a core quota increase, if required. Alternatively, consider reusing Batch accounts that already have sufficient quota.
Core quotas
Cores quotas in Batch service mode
Core quotas exist for each VM series supported by Batch. These core quotas are displayed on the Quotas page in the Azure portal. VM series quota limits can be updated with a support request, as detailed below. For dedicated nodes, Batch enforces a core quota limit for each VM series, as well as a total core quota limit for the entire Batch account. For low priority nodes, Batch enforces only a total core quota for the Batch account without any distinction between different VM series.
Cores quotas in user subscription mode
If you created a Batch account with pool allocation mode set to user subscription, Batch VMs and other resources are created directly in your subscription when a pool is created or resized. The Azure Batch core quotas do not apply and the quotas in your subscription for regional compute cores, per-series compute cores, and other resources are used and enforced.
To learn more about these quotas, see Azure subscription and service limits, quotas, and constraints.
Pool size limits
Pool size limits are set by the Batch service. Unlike resource quotas, these values can't be changed. Only pools with inter-node communication and custom images have restrictions different from the standard quota.
| Resource | Maximum Limit |
|---|---|
| Compute nodes in inter-node communication enabled pool | |
| Batch service pool allocation mode | 100 |
| Batch subscription pool allocation mode | 80 |
| Compute nodes in pool created with a managed image resource1 | |
| Dedicated nodes | 2000 |
| Low-priority nodes | 1000 |
1 For pools that are not inter-node communication enabled.
Other limits
These additional limits are set by the Batch service. Unlike resource quotas, these values cannot be changed.
| Resource | Maximum Limit |
|---|---|
| Concurrent tasks per compute node | 4 x number of node cores |
| Applications per Batch account | 200 |
| Application packages per application | 40 |
| Application packages per pool | 10 |
| Maximum task lifetime | 180 days1 |
| Mounts per compute node | 10 |
| Certificates per pool | 12 |
1 The maximum lifetime of a task, from when it is added to the job to when it completes, is 180 days. Completed tasks persist for seven days; data for tasks not completed within the maximum lifetime is not accessible.
View Batch quotas
To view your Batch account quotas in the Azure portal:
- Select Batch accounts, then select the Batch account you're interested in.
- Select Quotas on the Batch account's menu.
- View the quotas currently applied to the Batch account.
Increase a quota
You can request a quota increase for your Batch account or your subscription using the Azure portal or by using the Azure Quota REST API.
The type of quota increase depends on the pool allocation mode of your Batch account. To request a quota increase, you must include the VM series you would like to increase the quota for. When the quota increase is applied, it is applied to all series of VMs.
Once you've submitted your support request, Azure support will contact you. Quota requests may be completed within a few minutes or up to two business days.
Azure portal
From the Quotas page, select Request quota increase. Alternately, you can select the Help + support tile on your portal dashboard (or from the question mark (?) in the upper-right corner of the portal), and then select New support request.
In Basics:
- For Issue Type, select Service and subscription limits (quotas).
- Select your subscription.
- For Quota type, select Batch.
- Select Next to continue.
In Details:
In the Provide details section, specify the location, quota type, and Batch account (if applicable), then select the quota(s) to increase.
Quota types include:
Per Batch account
Use this option to request quota increases specific to a single Batch account, including dedicated and low-priority cores, and the number of jobs and pools.If you select this option, specify the Batch account to which this request should apply, and then select the quota(s) you'd like to update. Provide the new limit you are requesting for each resource.
Low-priority quota is a single value across all VM series. If you need constrained SKUs, you must select Low-priority cores and include the VM families to request.
All accounts in this region
Use this option to request quota increases that apply to all Batch accounts in a region, such as the number of Batch accounts per region per subscription.
In Support method, select a Severity according to your business impact and your preferred contact method and support language.
In Contact information, verify and enter the required contact details.
Select Review + create, then select Create to submit the support request.
Azure Quota REST API
You can use the Azure Quota REST API to request a quota increase at the subscription level or at the Batch account level.
For details and examples, see Request a quota increase using the Azure Support REST API.
Related quotas for VM pools
Batch pools in the Virtual Machine Configuration deployed in an Azure virtual network automatically allocate additional Azure networking resources. These resources are created in the subscription that contains the virtual network supplied when creating the Batch pool.
The following resources are created for each 100 pool nodes in a virtual network:
- One network security group
- One public IP address
- One load balancer
These resources are limited by the subscription's resource quotas. If you plan large pool deployments in a virtual network, you may need to request a quota increase for one or more of these resources.
Next steps
- Learn about the Batch service workflow and primary resources such as pools, nodes, jobs, and tasks.
- Learn about Azure subscription and service limits, quotas, and constraints.