Menu
AWS Lambda
Developer Guide

AWS Lambda Limits

As explained in Lambda Functions, once you've packaged up your custom code, including any dependencies, and uploaded it to AWS Lambda, you have created a Lambda function. But there are limits that AWS Lambda imposes that include, for example, the size of your deployment package or the amount of memory your Lambda function is allocated per invocation. This section discusses those AWS Lambda limits.

AWS Lambda Limits

AWS Lambda Resource Limits per Invocation

Resource Limits
Memory allocation range Minimum = 128 MB / Maximum = 1536 MB (with 64 MB increments)
Ephemeral disk capacity ("/tmp" space) 512 MB
Number of file descriptors 1,024
Number of processes and threads (combined total) 1,024
Maximum execution duration per request 300 seconds
Invoke request body payload size (RequestResponse/synrchronous invocation) 6 MB
Invoke request body payload size (Event/asynchronous invocation) 128 K

AWS Lambda Account Limits Per Region

Resource Default Limit
Concurrent executions (see Lambda Function Concurrent Executions) 1000

To request a limit increase for concurrent execution

  1. Open the AWS Support Center page, sign in, if necessary, and then click Create case.

  2. Under Regarding, select Service Limit Increase.

  3. Under Limit Type, select Lambda, fill in the necessary fields in the form, and then click the button at the bottom of the page for your preferred method of contact.

Note

AWS may automatically raise the concurrent execution limit on your behalf to enable your function to match the incoming event rate, as in the case of triggering the function from an Amazon S3 bucket.

The following table lists service limits for deploying a Lambda function.

AWS Lambda Deployment Limits

Item Default Limit
Lambda function deployment package size (compressed .zip/.jar file) 50 MB
Total size of all the deployment packages that can be uploaded per region 75 GB

Size of code/dependencies that you can zip into a deployment package (uncompressed .zip/.jar size).

Note

Each Lambda function receives an additional 500MB of non-persistent disk space in its own /tmp directory. The /tmp directory can be used for loading additional resources like dependency libraries or data sets during function initialization.

250 MB
Total size of environment variables set 4 KB

AWS Lambda Limit Errors

Functions that exceed any of the limits listed in the previous limits tables will fail with an exceeded limits exception. These limits are fixed and cannot be changed at this time. For example, if you receive the exception CodeStorageExceededException or an error message similar to "Code storage limit exceeded" from AWS Lambda, you need to reduce the size of your code storage.

To reduce the size of your code storage

  1. Remove the functions that you no longer use.

  2. Reduce the code size of the functions that you do not want to remove. You can find the code size of a Lambda function by using the AWS Lambda console, the AWS Command Line Interface, or AWS SDKs.