Lambda function has over provisioned memory
Why do I see this?
One of your Lambda functions has not utilised over 50% of the total allocated memory for the last week.
What does this mean?
The AWS Lambda service lets you configure the amount of memory when you deploy a Lambda function.
Higher memory size means higher available computational power, which may bring down the execution duration. However, that is only applicable in compute-intensive functions. For functions that aren't memory or compute-intensive, allocating too much memory will be wasteful and have no impact on the execution duration. In this case, you will end up paying more as the AWS Lambda service charges for the memory allocated and not for the used memory.
This event notifies you when more than 50% of the total allocated memory for one of your Lambda functions has not been utilised for the last one week.
How do I fix "Lambda function has over provisioned memory"?
If you were notified of this event for any of your Lambda functions, you will need to understand your function's memory requirement and usage. Once you know which one of your Lambda functions has over provisioned memory, you need to determine if that extra memory is saving you money by bringing down the execution time or costing you more by not having any impact on the execution duration at all.
You can use AWS Lambda Power Tuning tool to find the optimal memory configuration for your function. This tool is built to help optimize Lambda function for cost and/or performance.