Configure Lambda function memory - Amazon Lambda
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Configure Lambda function memory

Lambda allocates CPU power in proportion to the amount of memory configured. Memory is the amount of memory available to your Lambda function at runtime. You can increase or decrease the memory and CPU power allocated to your function using the Memory setting. You can configure memory between 128 MB and 10,240 MB in 1-MB increments. At 1,769 MB, a function has the equivalent of one vCPU (one vCPU-second of credits per second).

This page describes how and when to update the memory setting for a Lambda function.

Determining the appropriate memory setting for a Lambda function

Memory is the principal lever for controlling the performance of a function. The default setting, 128 MB, is the lowest possible setting. We recommend that you only use 128 MB for simple Lambda functions, such as those that transform and route events to other Amazon services. A higher memory allocation can improve performance for functions that use imported libraries, Lambda layers, Amazon Simple Storage Service (Amazon S3) or Amazon Elastic File System (Amazon EFS). Adding more memory proportionally increases the amount of CPU, increasing the overall computational power available. If a function is CPU, network or memory-bound, then increasing the memory setting can dramatically improve its performance.

To find the right memory configuration for your functions, we recommend using the open source Amazon Lambda Power Tuning tool. This tool uses Amazon Step Functions to run multiple concurrent versions of a Lambda function at different memory allocations and measure the performance. The input function runs in your Amazon account, performing live HTTP calls and SDK interaction, to measure likely performance in a live production scenario. You can also implement a CI/CD process to use this tool to automatically measure the performance of new functions that you deploy.

Configuring function memory (console)

You can configure the memory of your function in the Lambda console.

To update the memory of a function
  1. Open the Functions page of the Lambda console.

  2. Choose a function.

  3. Choose the Configuration tab and then choose General configuration.

    
            The Configuration tab in the Lambda console.
  4. Under General configuration, choose Edit.

  5. For Memory, set a value from 128 MB to 10,240 MB.

  6. Choose Save.

Configuring function memory (Amazon CLI)

You can use the update-function-configuration command to configure the memory of your function.

aws lambda update-function-configuration \ --function-name my-function \ --memory-size 1024

Configuring function memory (Amazon SAM)

You can use the Amazon Serverless Application Model to configure memory for your function. Update the MemorySize property in your template.yaml file and then run sam deploy.

Example template.yaml
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: An AWS Serverless Application Model template describing your function. Resources: my-function: Type: AWS::Serverless::Function Properties: CodeUri: . Description: '' MemorySize: 1024 # Other function properties...

Accepting function memory recommendations (console)

If you have administrator permissions in Amazon Identity and Access Management (IAM), you can opt in to receive Lambda function memory setting recommendations from Amazon Compute Optimizer. For instructions on opting in to memory recommendations for your account or organization, see Opting in your account in the Amazon Compute Optimizer User Guide.

Note

Compute Optimizer supports only functions that use x86_64 architecture.

When you've opted in and your Lambda function meets Compute Optimizer requirements, you can view and accept function memory recommendations from Compute Optimizer in the Lambda console in General configuration.