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. If you want to raise a quota, you can open an online customer support request 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
The enforcement of dedicated core quotas is being improved, with the changes being made available in stages and completed for all Batch accounts by the end of January 2021.
Core quotas exist for each VM series supported by Batch and are displayed on the Quotas page in the portal. VM series quota limits can be updated with a support request, as detailed below.
With the existing mechanism being phased out, quota limits for VM series are not checked, only the total quota limit for the account is enforced. This means that it may be possible to allocate more cores for a VM series than is indicated by the VM series quota, up to the total account quota limit.
The updated mechanism will enforce the VM series quotas, in addition to the total account quota. As part of the transition to the new mechanism, the VM series quota values may be updated to avoid allocation failures - any VM series used in recent months will have its VM series quota updated to match the total account quota. This change will not enable the use of any more capacity than was already available.
It is possible to determine if VM series quota enforcement has been enabled for a Batch account by checking:
The Batch account dedicatedCoreQuotaPerVMFamilyEnforced API property.
Text on the Batch account Quotas page in the portal.
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 | 20 |
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. 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.
Select the Help + support tile on your portal dashboard, or the question mark (?) in the upper-right corner of the portal.
Select New support request > Basics.
In Basics:
Issue Type > Service and subscription limits (quotas)
Select your subscription.
Quota type > Batch
Select Next.
In Details:
In Provide details, specify the location, quota type, and Batch account.
Quota types include:
Per Batch account
Values specific to a single Batch account, including dedicated and low-priority cores, and number of jobs and pools.Per region
Values that apply to all Batch accounts in a region and includes the number of Batch accounts per region per subscription.
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.
Select a Severity according to your business impact.
Select Next.
In Contact information:
Select a Preferred contact method.
Verify and enter the required contact details.
Select Create to submit the support request.
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.
Related quotas for VM pools
Batch pools in the Virtual Machine Configuration deployed in an Azure virtual network automatically allocate additional Azure networking resources. The following resources are needed for each 50 pool nodes in a virtual network:
- One network security group
- One public IP address
- One load balancer
These resources are allocated in the subscription that contains the virtual network supplied when creating the Batch pool. These resources are limited by the subscription's resource quotas. If you plan large pool deployments in a virtual network, check the subscription's quotas for these resources. If needed, request an increase in the Azure portal by selecting Help + support.
Next steps
- Create an Azure Batch account using the Azure portal.
- 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.