kubernetes: apiserver builds up high memory usage after serving a few large LIST requests

What happened?

The apiserver process has 1.5 GIB memory usage after sequentially serving a few large LIST requests (about 50MiB in response size).

What did you expect to happen?

The apiserver should stay the same memory usage after serving the first request.

How can we reproduce it (as minimally and precisely as possible)?

  1. Create configmaps that all together make up to 50 MiB
  2. Run the following cmd and observe the memory usage of apiserver
for i in `seq 20`
  do kubectl  get --raw "/api/v1/namespaces/default/configmaps?resourceVersion=0" > /dev/null
done

Anything else we need to know?

No response

Kubernetes version

Main branch

Cloud provider

OS version

No response

Install tools

No response

Container runtime (CRI) and version (if applicable)

No response

Related plugins (CNI, CSI, …) and versions (if applicable)

No response

About this issue

  • Original URL
  • State: open
  • Created 2 years ago
  • Reactions: 1
  • Comments: 16 (15 by maintainers)

Most upvoted comments

Opened https://github.com/kubernetes/enhancements/issues/3744 / https://github.com/kubernetes/enhancements/pull/3749 proposing a regular update of release branches to new go minor versions.