Pod Eviction Calculator
Estimate which pods are at risk of eviction under node memory or disk pressure.
About Pod Eviction Calculator
When a node comes under CPU, memory, or disk pressure, the kubelet evicts pods in a defined order: BestEffort pods (no requests/limits) go first since they have no reserved resources to protect them, then Burstable pods ranked partly by PriorityClass and by how far their usage exceeds their requests, and Guaranteed pods (requests equal limits) go last, evicted only under the most extreme pressure. PriorityClass acts as a tiebreaker within and across these QoS bands, letting critical low-QoS pods still be protected relative to non-critical pods of the same class.
Formula
elevatedRisk% = ((bestEffortPods + lowPriorityBurstable) / totalPods) × 100
- B_e
- BestEffort pods (evicted first)
- B_l
- Low-priority Burstable pods
- N
- Total pods on the node
- E
- Percentage of pods at elevated eviction risk
Worked example
With the default values below, Pod Eviction Calculator returns Pods at Elevated Eviction Risk of 44.8%. Change any input above and every figure here is recalculated in your browser.
Inputs used
- BestEffort Podsaccepts 0–1,000,000 pods
- 8 pods
- Burstable Podsaccepts 0–1,000,000 pods
- 15 pods
- Guaranteed Podsaccepts 0–1,000,000 pods
- 6 pods
- Burstable Pods at Low Priority Classaccepts 0–100 %
- 30 %
Results
- Pods at Elevated Eviction Risk
- 44.8%
- BestEffort Pods (Evicted First)
- 8 pods
- Guaranteed Pods (Evicted Last)
- 6 pods
Step by step
- 1Low-priority Burstable pods= 5
- 2Pods at elevated eviction risk= 44.8%
Assumptions and limits
- The result is derived only from the 4 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
- Figures are rounded for display to 1 decimal place, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
What determines a pod's QoS class?
It's derived automatically from its resource spec: Guaranteed requires CPU and memory requests to equal limits for every container; BestEffort has no requests or limits set at all; Burstable is everything in between — you cannot set QoS class directly.
Can a high-priority BestEffort pod avoid eviction before a low-priority Guaranteed pod?
Under standard node-pressure eviction, QoS class is the primary sort key — BestEffort pods are generally evicted before Burstable and Guaranteed pods regardless of PriorityClass, though PriorityClass does influence scheduling preemption separately from kubelet eviction.
How can I protect a critical Burstable pod from early eviction?
Set requests closer to (or equal to) actual usage/limits to shift it toward Guaranteed QoS, and assign it a higher PriorityClass — both reduce its relative eviction risk compared to lower-priority or under-provisioned pods on the same node.
