Java Runtime Evaluation
CloudPilot AI observes Heap, GC, Non-Heap, and heap-wave behavior together. It coordinates Xms, Xmx, and the container memory baseline, then validates the result through a controlled rollout.
Regular Heap reclamation with sparse, low GC pulses.
Observed series
Observed series
Dataset selection and RP configuration are independent: switching data never rewrites the policy values below.
3.67 GiB
4.41 GiB
5.25 GiB
1.12
GC branch:2.67 GiB ·Heap-wave branch:3.67 GiB
Non-Heap guard:0.84 GiB
Minimum Xms ratio:25% · Δ0.00 GiB
Current Request:8.00 GiB ·34.4% modeled capacity release
Read JVM internals before changing the outer container
The pipeline scopes time windows from RecommendationPolicy, normalizes duration-weighted runtime series, solves two independent Heap candidates, protects Non-Heap with dual windows, enforces JVM constraints, and only then hands the memory baseline to the outer resource-policy envelope.
W_hist, P_memory, P_heap, W_recent ← RecommendationPolicyThe evaluation is reproducible from explicit policy fields and scoped metric windows.
S̄ = Σ(valueᵢ × durationᵢ) / ΣdurationᵢInvalid-duration series are removed before workload-level aggregation.
k(GC) = piecewise-linear(GC pause ratio)Three coefficient bands grow from 1.00 to a capped 2.85 safety multiplier.
Heap_gc = Q(P_heap) × k(GC) · Heap_wave = Q(P_memory) × 1.25The branches model collection pressure and stable working-set demand independently.
wave = Q90 / max(Q10, ε)Stable wave selects max(Heap_gc, Heap_wave); variable wave isolates the GC branch.
NH = max(Qhist(P_memory), Qrecent(P_memory))The recent window prevents stale history from understating short-lived native demand.
Xmx = Xms + heapBuffer · Xms / Memory ≥ minRatioIf the minimum ratio binds, Xms, Xmx, and Memory are raised atomically by the same delta.
JVM baseline → RP buffer → requestMin / requestMax → readiness gatesContainer bounds and data-readiness checks remain outside the internal Heap solver.
The algorithm recommends; the test decides whether to expand
Compare outcomes inside matched-load windows. Value metrics and stability gates must pass together before broader rollout.
Primary value metric
Usage reduction = 1 − after matched-load P95 Usage ÷ baseline matched-load P95 Usage
Scheduling capacity metric
Request reduction = 1 − after Memory Request ÷ baseline Memory Request