Skip to content

Latest commit

History

History
176 lines (120 loc) · 13.2 KB

File metadata and controls

176 lines (120 loc) · 13.2 KB
copyright
years
2026
lastupdated2026-07-08
keywordslimits for code engine, limitations for code engine, quotas for code engine, project quotas in code engine, app limits in code engine, job limits in code engine, limits, limitations, quotas
subcollectioncodeengine

{{site.data.keyword.attribute-definition-list}}

Limits and quotas for {{site.data.keyword.codeengineshort}}

{: #limits}

The following sections provide technical details about the {{site.data.keyword.codeenginefull}} limitation and quota settings. {: shortdesc}

How does my resource allocation effect my project quotas and billing?

From the console, you can view information about your current {{site.data.keyword.codeengineshort}} resource allocation from your project overview page. If you want to display information about the allocated memory and vCPU values based on what you configured for each specific application or job, then view the listing of your applications or jobs in your project. With the CLI, you can also get information about your current resource allocation usage for the project with the project get command.

With {{site.data.keyword.codeengineshort}}, you pay for only the resources that you use based on the configured memory and vCPU that your workloads consume, and any incoming HTTP calls. If your app scales to zero or your job or build isn't running, you are not consuming resources, and so you are not charged. To host all your applications and jobs, {{site.data.keyword.codeengineshort}} deploys and manages the necessary infrastructure for you. However, while you are not billed for this infrastructure, it does count toward the project quotas. For more information about quotas, see the following tables.

The use of ephemeral storage is now bounded by memory. The ephemeral storage in {{site.data.keyword.codeengineshort}} cannot exceed the default value of 0.4 GB (400 MB) or the configured value for memory. If you need more than the default for ephemeral storage, you must increase your memory according to the valid combinations of vCPU and memory. {: important}

See Supported memory and CPU combinations for more information about the relationship between ephemeral storage and memory.

Application defaults and limits

{: #limits_application}

The following table lists the limits for applications.

CategoryDefaultMaximum valueNeed to extend the maximum?
CPU1.012.0Contact IBM support
Ephemeral storage400 M48 G \n (limited by memory)Contact IBM support
Max scale10250Contact IBM support
Memory4 G48 GContact IBM support
Min scale0250Contact IBM support
Concurrency1001000Contact IBM support
Timeout300 seconds600 secondsContact IBM support
{: caption="Application limits"}

For more information about supported CPU and memory combinations, see Supported memory and CPU combinations.

{{site.data.keyword.codeengineshort}} has limits for apps within a project.

  • You are limited to 40 apps per project.
  • You are limited to a total of 120 revisions for all apps per project.

{{site.data.keyword.codeengineshort}} does not support overcommitment for application resources. Therefore, if you create an application by using the API or with kubectl apply -f <yaml>, the values for Resource.Requests and Resource.Limits for CPU, Memory, and Ephemeral Storage must be specified and must be the same.

Job defaults and limits

{: #limits_job}

The following table lists the limits for jobs.

CategoryDefaultMaximum valueNeed to extend the maximum?
Array indices09999999Contact IBM support
Array size11000N/A
CPU1.012.0Contact IBM support
Ephemeral storage400 M48 G \n (limited by memory)Contact IBM support
Memory4 G48 GContact IBM support
Retries35Contact IBM support
Timeout7200 seconds (2 hours)86400 seconds (24 hours)Contact IBM support
{: caption="Job limits"}

Array indices are comma-separated lists or a hyphen-separated range of indices, which specifies the job instances to run; for example, 1,3,6,9 or 1-5,7-8,10.

Array size is the number of job instances to run in parallel.

For more information about supported CPU and memory combinations, see Supported memory and CPU combinations.

{{site.data.keyword.codeengineshort}} is limited to 100 jobs per project. After 100 job runs are started, be sure to clean up older job runs before you start new job runs.

Job size limit

{: #job_size_limit}

{{site.data.keyword.codeengineshort}} limits the size of jobs and job runs with a maximum of 10 KiB. When you create or update jobs and job runs with the console, CLI, or API, {{site.data.keyword.codeengineshort}} checks the size of the job or job run. If the operation exceeds the limit, a size limit exceeded error is given. If you receive this error, try reducing the size of your job or job run in one of the following ways.

  • If you use commands and arguments, try reducing the use of these options, make them shorter, or move them into the container image that is used by your job or job run.

  • If you use environment variables, try to use fewer environment variables or make them shorter. You can use secrets or configmaps to define environment variables and import them into the job by using the --env-from-secret or --env-from-configmap options with the job create, job update, jobrun submit, and jobrun resubmit commands.

For more information about troubleshooting jobs, see Troubleshooting - Why can't I submit a job run?.

Function limits

{: #limits_functions}

The following table lists the limits for functions.

CategoryMaximum
Length of runtime120 seconds
Memory48000 MB
Size of request body and response body5 MB
Code size (inline)100 KB, including base64 overhead
Code size (local source)200 MB compressed
Code size (API)100 KB, including base64 overhead
{: caption="Function limits"}

Periodic timer (cron) subscription limits

{: #subscription-cron-limit}

The following table lists the limits for the periodic timer subscription.

CategoryMaximumNeed to extend the maximum?
Size of data4096 bytesContact IBM support
{: caption="Periodic timer limits"}

{{site.data.keyword.codeengineshort}} limits the size of data for Periodic timer (cron) events with a maximum of 4096 bytes. When you create or update periodic timer (cron) events, {{site.data.keyword.codeengineshort}} checks the size of the cron event data. If the Periodic timer (cron) event data exceeds the limit, a size limit exceeded error is given. If you receive this error, try reducing the cron event data size to less than 4096 bytes.

For more information about troubleshooting subscriptions, see Debugging subscriptions.

Project limits

{: #limits_projects}

The following table lists the limits for projects.

CategoryMaximumNeed to extend the maximum?
Project per region20Contact IBM support
{: caption="Project limits"}

The maximum number of projects includes projects that are active and any projects that are not permanently deleted. When you delete a project, the project is soft deleted, and can be restored within 7 days before it is permanently deleted. Use the console or the CLI to display soft-deleted projects. For more information, see deleting a project. {: important}

Project quotas

{: #project_quotas}

The following table lists the quotas for projects.

Be aware that the limits apply independently from each other within a project. If a limit is reached, such as the limit of 512 GB of memory, this quota limit might impact the ability to run a workload, even if another limit is not yet reached, such as 250 instances of apps or jobs.

CategoryDescription
AppsYou are limited to 40 apps per project.
App revisionsYou are limited to a total of 120 revisions for all apps per project.
BuildsYou are limited to 100 build configurations per project.
Build runsYou are limited to 100 build runs per project before you need to remove or clean up old ones.
ConfigmapsYou are limited to 100 configmaps per project.
CPUThe total combination for all the app instances, running job instances, and running build instances cannot exceed 128 vCPU.
Domain mappings (custom)You are limited to 80 custom domain mappings per project.
Ephemeral storageThe total combination for all the app instances, running job instances, and running build instances cannot exceed 512 G of ephemeral storage.
FleetsYou are limited to 1000 fleets per project.
FunctionsYou are limited to 20 functions per project.
Instances (active)The number of app instances, function instances, running job instances, and running build instances cannot exceed 250.
Instances (total)The number of active instances and the number of completed job and build instances cannot exceed 2500.
JobsYou are limited to 100 jobs per project.
Job runsYou are limited to 100 job runs per project before you need to remove or clean up old ones.
MemoryThe total combination for all the app instances, running job instances, and running build instances cannot exceed 512 G of memory.
SecretsYou are limited to 100 secrets per project.
Subscriptions ({{site.data.keyword.cos_full_notm}})You are limited to 100 ({{site.data.keyword.cos_short}}) subscriptions per project.
Subnet poolsYou are limited to 1000 subnet pools per project.
Subscriptions (Kafka / {{site.data.keyword.messagehub_full}})You are limited to 100 Kafka subscriptions per project.
Subscriptions (Periodic timer (cron))You are limited to 100 periodic timer (cron) subscriptions per project.
{: caption="Project quotas"}

For example, you are limited to 128 vCPU or 250 active instances of an app or job. Since each limit applies independent of other limits, suppose you want to scale an app to 250 instances with 0.125 VCPU. These values result in about 32 vCPU, which works as this result is less than the maximum of 128 vCPU. However, you cannot use 512 instances with 0.125 vCPU, which would still meet the maximum of 128 vCPU, but would violate the limit for a maximum of 250 instances.

Increasing limits

{: #increase-limits}

Limit values are fixed, but can be increased by contacting IBM support and creating a support case.