Kubernetes Pod Right-Sizer
Calculate CPU and memory requests and limits for Kubernetes pods from average and p95 utilization. Generates a complete resources YAML block ready to paste into your Deployment manifest.
Different request/limit. Most common.
CPU usage (millicores)
Memory usage (MiB)
CPU
Memory
Generated YAML
spec:
containers:
- name: app
image: your/image:tag
resources:
requests:
cpu: "165m"
memory: "462Mi"
limits:
cpu: "585m"
memory: "546Mi"Automate your incident response
Reduce MTTR by 90% with AI-powered root cause analysis. Free to start.
The cost of getting requests and limits wrong
Under-provisioned pods get OOMKilled in production at the worst possible moment. Over-provisioned pods waste money and reduce scheduling flexibility — fewer pods fit per node, you need more nodes, your bill doubles. The right-sizing calculator above splits the difference: CPU request near average (CPU is compressible, so you can be aggressive), memory request near p95 (memory is incompressible, so you cannot afford to be wrong), and limits with a safety margin on top.
When to scale up vs scale out
A common mistake is sizing pods up rather than scaling out replicas. As a rule of thumb:
- CPU limit ≥ 4 cores — usually a signal to add more replicas. Larger pods reduce scheduler flexibility and increase blast radius when one fails.
- Memory limit ≥ 8Gi — confirm the workload actually needs it. JVM apps and ML inference are common legitimate cases; web servers usually are not.
- Spiky traffic — prefer HPA scaling out small pods over big pods sized for the peak.
Catching right-sizing mistakes in production
The most common right-sizing failures show up as OOMKill events, CPU throttling, or pending pods stuck in scheduling. All three are telemetry-rich — Kubernetes events, kubelet metrics, and container runtime stats expose them. Uptimes.ai watches for these signals continuously, correlates them with recent deploys via the GitLab integration, and surfaces "your last deploy made pod X OOMKill twice since 09:00" instead of waiting for an alert from a downstream symptom.