PricingPricingDocsDocsBlogBlogBook a demoBook a demoCompanyCompany (opens in a new tab)
Product
Solutions
DocsAPI ReferencePricingConsole DemoBlogCompany
Start Free
Pod Sizing

Smart Sizing

Continuous Pod CPU/memory requests and limits optimization based on actual usage patterns, with per-container buffer / min / max controls and an Apply History panel built on the Kubernetes in-place pod resize primitive.

Overview

Wave Smart Sizing automatically adjusts pod CPU and memory requests / limits based on actual consumption patterns, then applies them on the Kubernetes in-place pod resize primitive with no pod restart. VPA gained a similar in-place mode (InPlaceOrRecreate, beta) in K8s 1.33+; Wave's value is in the pipeline around that primitive — broader hysteresis, per-container buffer / min / max, explicit Apply Modes, and Apply History in the Web Console.

By analyzing real usage data over time, Smart Sizing eliminates the guesswork of setting resource requests/limits. It prevents both over-provisioning (wasting money) and under-provisioning (causing OOMKills and throttling), achieving optimal resource efficiency.

Why Better Than Kubernetes VPA

Kubernetes VPAWave Smart Sizing
Adjustment MethodInPlaceOrRecreate (beta in K8s 1.33+) uses the in-place primitive but silently falls back to evict-and-restart when the node lacks capacitySame in-place primitive, surfaced as an explicit user choice: In-Place stays in-place (skip on node-pressure, retry next cycle), Manifest Patch is rollout-managed — no silent restarts
Configuration ComplexityManual VPA objects per deployment with complex update policiesOne-click enablement for all workloads or per-deployment
Configuration DriftVPA recommendations can drift from actual deployment manifestsContinuous synchronization with actual workload behavior

Key Outcomes & Benefits

30-40%
Cost Reduction

Eliminate over-provisioning waste across all workloads

95%+
Resource Efficiency

Achieve optimal CPU and memory utilization

100%
Automated Optimization

Eliminate manual requests/limits tuning efforts

How It Works

1. Usage Monitoring

WA Metrics Agent collects actual CPU and memory consumption for all pods continuously.

2. Optimal Calculation

Analyzes P95/P99 usage patterns to calculate optimal requests/limits with safety margins.

3. Continuous Adjustment

Automatically updates pod resource specifications without restarts or downtime.

4. Adaptation

Continuously adapts to changing workload demands—no configuration drift.

Key Outcomes & Benefits

40-60%
Resource Waste Identified

Discover over-provisioned workloads wasting CPU and memory

30-40%
Potential Cost Savings

Quantify cost reduction opportunities from right-sizing

95%
Reduced Analysis Time

Eliminate manual resource request/limit tuning efforts

How It Works

100%50%0%Pod 1Pod 2Pod 3Pod 4RequestedActualSizing

1. Usage Tracking

Monitors actual CPU and memory consumption for all pods over extended time periods.

2. Gap Analysis

Compares actual usage (P95/P99) against configured requests and limits to identify gaps.

3. Recommendation Generation

Calculates optimal CPU and memory values with appropriate safety margins for each workload.

4. Impact Quantification

Shows potential cost savings, resource reclamation, and performance improvements for prioritization.

Realtime Resizing: automatic, in-place, no restart

Realtime Resizing closes the loop automatically. Each workload (Deployment, StatefulSet, DaemonSet, Argo Rollout, or OpenShift DeploymentConfig) picks one of three Apply Modes — and automatic application stays opt-in at the container level, so nothing changes in your cluster until you turn it on. Prefer to stay hands-on? Apply any recommendation on demand with Resize Now.

Off

Wave keeps generating recommendations but never touches the workload. Use this to evaluate Smart Sizing before turning anything on.

In-Place Pod Resize

Calls the Kubernetes 1.27+ /resize subresource on running pods. No pod restart, no rollout, no downtime. Requires the InPlacePodVerticalScaling feature gate on K8s 1.27–1.32; enabled by default from 1.33, GA in 1.35.

Manifest Patch

Patches the workload spec. New pods pick up the new resources on the next rollout. Safe everywhere — works without the in-place feature gate.

Per-container buffer / min / max controls live in Container Settings, so you can keep your safety margins.

Supported on Deployment, StatefulSet, DaemonSet, Argo Rollout, and OpenShift DeploymentConfig.

Before you turn auto-apply on

  • • Hysteresis to suppress noise: a recommendation is applied only when the priority ratio ≥ 10% OR CPU delta ≥ 50 mCPU OR memory delta ≥ 64 MiB (VPA-style thresholds, OR-combined).
  • • In-Place is fire-and-forget per pod. If the kubelet rejects the resize because the node lacks resources, that pod is skipped and Wave retries on the next 10-minute cycle. Use Manifest mode if you need a guaranteed reschedule.
  • • Manifest mode conflicts with Argo CD auto-sync — Argo will revert the patch. Turn auto-sync off for workloads where Wave should own resource values, the same way you already do for Autopilot.
  • • On a Deployment, Smart Sizing auto-apply is automatically released when the workload transitions to Autopilot — Autopilot owns resource decisions for what it manages.
Read the full operations guide →

Optimize Every Pod's Resource Configuration

Continuous, non-disruptive resource optimization with the pipeline around the in-place primitive: per-container buffer / min / max, broad hysteresis, and an Apply History panel.

Book a Demo
Product
Resource OptimizationK8s DiagnosisTraffic ProtectionGPU Visibility & VirtualizationK8s AI AgentAI SRE Agent · 2026 Q3
Resources
DocsAPI ReferenceBlogConsole DemoPricing
Company
STCLabBook a demoContact
STCLab© 2026 Wave All rights reserved.
Terms of ServicePrivacy PolicyCookies