fix(deploy): increase memory limits for admission-control and config-controller#19950
Closed
fix(deploy): increase memory limits for admission-control and config-controller#19950
Conversation
…controller The busybox-style binary consolidation (ROX-33958) increased init-time memory usage for all components because Go eagerly runs init() for all transitively imported packages. Profiling shows the consolidated binary uses ~15 MB heap at startup vs ~5-8 MB for standalone binaries, which under the race detector multiplier (~5-10x) causes OOMKills for components with tight memory limits. - config-controller: 128Mi → 256Mi (was OOMKilled in race-detector nightlies) - admission-control: 500Mi → 1Gi for both enforcement modes (was OOMKilled in race-detector nightlies with 6-7 restarts across all replicas) The admission-control enforcement-enabled default was already 1Gi; this aligns the enforcement-disabled default to match, since the busybox binary overhead is independent of enforcement status. Generated with assistance from AI Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Skipping CI for Draft Pull Request. |
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4c8ca04 to
640aefd
Compare
Contributor
🚀 Build Images ReadyImages are ready for commit 4c8ca04. To use with deploy scripts: export MAIN_IMAGE_TAG=4.11.x-627-g4c8ca042c7 |
Contributor
Author
|
Superseded by a better approach: overriding resource limits at deploy time for race-detector builds only, rather than changing Helm chart defaults. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The busybox-style binary consolidation (ROX-33958, PR #19819) increased init-time
memory usage for all components. Go eagerly runs
init()for all transitivelyimported packages, so the consolidated binary's ~4600 transitive deps all initialize
at startup regardless of which component is actually running.
Profiling on Linux amd64 shows:
Under the race detector (~5-10x memory multiplier), the busybox init overhead
causes OOMKills for components with tight limits:
Changes:
User-facing documentation
Testing and quality
Automated testing
How I validated my change
TestReconcileAdmissionControllerDef)🤖 Generated with Claude Code