#4210·agones

[Question] Why does memory usage increase over time when running Agones SDK Health checks in a Go gRPC server?

Author: galileo1721Created Jun 22, 2025Updated Sep 15, 2026
Labelshelp wantedstale

Hi team,

I have a question regarding memory usage in a Go-based gRPC server managed by Agones.

What am I trying to understand?

  • Is the steady increase in memory usage over time expected behavior when calling agones.dev.sdk.Health() every second?
  • Or is there something wrong with the way we’re using the Agones SDK or gRPC client?

What I did

We deployed a lightweight gRPC server written in Go inside an Agones-managed Pod. The only thing the server does is call the Agones SDK’s Health() function once every second. No other game logic or load is running.

We observed the container’s memory usage over time using Datadog and found that memory increases linearly at a rate of approximately 1 to 3 MiB per hour.

When we commented out the Health() call, the memory growth stopped.

We also reproduced this same behavior in a C++ server calling the equivalent Agones SDK health function.

Why this matters

We intend to run these Pods continuously for several days or weeks, and this rate of memory growth is not sustainable. We'd like to know if:

  • Is this a known behavior of the Agones SDK or gRPC?
  • Or if we should change our usage pattern or perform cleanup

Environment

  • Kubernetes: EKS 1.32
  • Agones: v1.48
  • Language: Go 1.23.10
  • gRPC: v1.73.0
  • SDK Usage: agones.dev/sdk-go and agones.dev/sdk-cpp

Any insights, recommendations, or confirmation of expected behavior would be greatly appreciated.

Thank you!