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:

  1. Select Batch accounts, then select the Batch account you're interested in.
  2. Select Quotas on the Batch account's menu.
  3. View the quotas currently applied to the Batch account.

Screenshot showing Batch account quotas in the Azure portal.

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

  1. 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.

  2. In Basics:

    1. For Issue Type, select Service and subscription limits (quotas).
    2. Select your subscription.
    3. For Quota type, select Batch.
    4. Select Next to continue.
  3. In Details:

    1. In the Provide details section, specify the location, quota type, and Batch account (if applicable), then select the quota(s) to increase.

      Screenshot of the Quota details screen when requesting a quota 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.

    2. In Support method, select a Severity according to your business impact and your preferred contact method and support language.

    3. In Contact information, verify and enter the required contact details.

  4. 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.

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:

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