本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 Lambda 函數記憶體
Lambda 會按設定的記憶體數量比例來配置 CPU 功率。記憶體是可供 Lambda 函數在執行時間使用的記憶體數量。可使用記憶體 設定來增加或減少配置給函數的記憶體和 CPU 功率。您可以設定介於 128 MB 到 10,240 MB 之間的記憶體,增量為 1 MB。在 1,769 MB,函數等於一個完整 vCPU (每秒一個 vCPU 秒的額度)。
此頁面說明如何及何時更新 Lambda 函數的記憶體設定。
判斷 Lambda 函數的適當記憶體設定
記憶體是控制函數效能的主要手段。預設設定為 128 MB,這是可能的最低設定。建議僅將 128 MB 用於簡單的 Lambda 函數,例如轉換事件並將其路由至其他 AWS 服務的函數。更高的記憶體配置可以提高使用匯入程式庫、Lambda 層、Amazon Simple Storage Service (Amazon S3) 或 Amazon Elastic File System (Amazon EFS) 的函數效能。按比例增加更多記憶體會增加 CPU 容量,從而提高可用的整體運算能力。如果函數受到 CPU、網路或記憶體限制,則增加記憶體設定可以大幅改善其效能。
若要尋找正確的記憶體組態,請使用 Amazon CloudWatch 監控您的函數,並在記憶體耗用量接近設定的最大值時設定警示。這有助於識別記憶體受限函數。對於 CPU 繫結和 IO 繫結函數,監控持續時間也可以提供洞見。在這些情況下,增加記憶體有助於解決運算或網路瓶頸。
您也可以考慮使用開放原始碼 AWS Lambda Power Tuning
設定函數記憶體 (主控台)
您可以在 Lambda 主控台中設定函數的記憶體。
更新函數記憶體
開啟 Lambda 主控台中的 函數頁面
。 -
選擇一個函數。
-
選擇組態索引標簽,然後選擇一般組態。
-
在一般組態中,選擇編輯。
-
對於記憶體,設定從 128 MB 到 10,240 MB 的值。
-
選擇 Save (儲存)。
設定函數記憶體 (AWS CLI)
可以使用 update-function-configuration
aws lambda update-function-configuration \ --function-name
my-function
\ --memory-size1024
設定函數記憶體 (AWS SAM)
可以使用 AWS Serverless Application Model 來設定函數的記憶體。更新 template.yaml
檔案中的 MemorySize 屬性,然後執行 sam 部署。
範例 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...
接受函數記憶體建議 (主控台)
如果您在 AWS Identity and Access Management (IAM) 中有管理員許可,您可以選擇接收來自 的 Lambda 函數記憶體設定建議 AWS Compute Optimizer。如需有關針對您的帳戶或組織選擇加入記憶體建議的指示,請參閱 AWS Compute Optimizer 使用者指南中的選擇加入您的帳戶。
注意
Compute Optimizer 只支援使用 x86_64 架構的函數。
當您已選擇加入且 Lambda 函數符合 Compute Optimizer 需求時,您可以在一般組態中檢視並接受來自 Lambda 主控台 Compute Optimizer 的函數記憶體建議。