Use ZopNight RC-1710 and RC-1711 to find deployments missing CPU requests or memory limits, then apply the recommended values from observed usage.
This is the practical version, the one you can follow in a single sitting. It starts read-only, touches no production resource by default, and every step is reversible, so there is no point at which you are committed to something you cannot undo. Budget about 30 minutes for first batch. Before you start you will want: EKS, GKE, or AKS connected to ZopNight; Permission to edit the affected workloads; A ZopNight account.
The steps
- Open the Recommendations page.
- Review the recommended value.
- Check the workload manifest.
- Apply the change.
- Watch the finding clear.
Why this is safe to do today
The reason this is a low-stakes change is that nothing here is destructive. Scheduling stops and starts resources; it never deletes them, and your data persists across a stop exactly as it does across a normal reboot. Production is excluded by default, actions run in dependency order, and every state change is logged with what triggered it.
If you want the fuller context behind this task, the FinOps guide covers where it fits, and the AWS EC2 scheduling page shows the same loop applied to a specific resource.
Getting started
Getting started is intentionally low-stakes:
- Connect your cloud provider with a read-only role. Nothing is scheduled or changed at this stage.
- Let ZopNight discover your non-production resources and review exactly what it found, filtered by account, region, and status.
- Create a schedule in your timezone and attach the non-production resources or groups you want it to cover.
- Watch the first cycle run, with Slack, Teams, or Google Chat notifications on every start, stop, and failure, then layer in idle cleanup and guided rightsizing.
Production stays excluded by default throughout, and because discovery and recommendations are read-only, you can prove the value before you enable a single action.
Questions we get a lot.
If yours isn't here, email us and we'll answer directly.
Should I always set both requests and limits?
For production workloads, yes. Some JVM workloads do better without memory limits, in which case set the request high and skip the limit. ZopNight surfaces both as separate rules so you can decide per workload.
How are recommended values computed?
Recommended values come from 14 days of observed usage from cAdvisor or a Prometheus integration. The recommended request is set so headroom above P95 covers normal burst.