Idle Lambda functions are different from over-provisioned Lambda memory: over-provisioned findings apply to functions that are being invoked but allocated more memory than they need. Idle functions have zero invocations in the last 30 days.
Before you delete
- Confirm no EventBridge rules, API Gateway routes, SQS queues, or Step Functions workflows still reference the function.
- Run
aws lambda list-event-source-mappings --function-name <name>and remove any active mappings. - Check for aliases or weighted routing that might still point at this function.
- Remember that the CloudWatch log group
/aws/lambda/<name>is not deleted with the function — delete or set retention on it separately if you want to stop log storage charges.
What triggers this finding
An active Lambda function with zero invocations over the last 30 days (from CloudWatch Invocations metrics), where the function was last modified more than 30 days ago — recently deployed functions waiting for a trigger are excluded.
Typical fix
Delete the function if it is no longer used. Remove event source mappings, EventBridge rules, API Gateway integrations, and aliases first. On paid plans, Parsivex generates a delete-function script with pre-checks — see Remediation script safety.
Example savings
Direct Lambda compute cost is $0/month for zero-invocation functions. Parsivex shows a conservative nominal estimate (typically ~$0.50/month) for possible CloudWatch Logs storage in /aws/lambda/{function} — actual savings may be lower.
See also: Severity and savings estimates for how Parsivex calculates figures on your report.