Problem
The Agones SDK sidecar can run without explicit CPU or memory limits. In those environments, language runtimes may size scheduler parallelism or memory behavior from host/node-visible resources rather than the small amount of resources the sidecar is expected to use.
This can be more visible on Windows process-isolated containers, where CPU limits are enforced by HCS/Job Objects but may not be reflected as a reduced logical CPU count inside the runtime.
Proposed Approach
Use the SDK sidecar's requested resources as runtime resource hints:
- CPU: derive the runtime CPU allocation hint from the sidecar CPU request.
- Memory: derive the runtime memory allocation hint from the sidecar memory request.
- If a request is not configured, do not provide an additional runtime hint for that resource.
This should not change Kubernetes resource requests or limits. It should only help the SDK sidecar runtime align its internal scheduling and memory behavior with the resources Agones asks Kubernetes to reserve for it.
Problem
The Agones SDK sidecar can run without explicit CPU or memory limits. In those environments, language runtimes may size scheduler parallelism or memory behavior from host/node-visible resources rather than the small amount of resources the sidecar is expected to use.
This can be more visible on Windows process-isolated containers, where CPU limits are enforced by HCS/Job Objects but may not be reflected as a reduced logical CPU count inside the runtime.
Proposed Approach
Use the SDK sidecar's requested resources as runtime resource hints:
This should not change Kubernetes resource requests or limits. It should only help the SDK sidecar runtime align its internal scheduling and memory behavior with the resources Agones asks Kubernetes to reserve for it.