High Kernel memory usage #96892
Labels
kind/bug
Categorizes issue or PR as related to a bug.
needs-triage
Indicates an issue or PR lacks a `triage/foo` label and requires one.
sig/node
Categorizes an issue or PR as relevant to SIG Node.
What happened:
Cluster node is using an excessive amount of Noncache kernel memory after deployment of pods, leading to memory starvation problems in the node.
Some command ouputs:
free -m
:This currently shows that my actual used (non-cache or reclaimable memory) is around 3.4GB.
Also the output of
sudo smem -twk
:matches the output of
free
in the following way:free
=smem
kernel NonCache + userspace Noncache = 3.4GBfree
=smem
kernel Cache + userspace Cache = 294MBAlso
kubectl top node
matches the userspace memory insmem
showing around 2.2GB and so does the total oftop
andps aux
of the running processes.However my
/proc/meminfo/
:shows a total of kernel memory usage Slab + SReclaimable + SUnreclaim of ~238MB which is nowhere near 1.3GB shown in
smem
which also sums up in thefree
report.So where is the extra memory in the kernel spent???
What you expected to happen:
Stable usage of non cache kernel memory even after some time after the deployment.
Is there a way to track what is using the kernel memory?
How to reproduce it (as minimally and precisely as possible):
Deploy the services and after a while kernel memory usage increases to the same level
Anything else we need to know?:
When draining the node, kernel memory usage returns to normal, but as soon as pods are re-deployed it goes up again!
Environment:
kubectl version
): 1.16.7cat /etc/os-release
): Debian GNU/Linux 9 (stretch)uname -a
): Linux 4.9.0-7-amd64 Unit test coverage in Kubelet is lousy. (~30%) #1 SMP Debian 4.9.110-3+deb9u2 (2018-08-13) x86_64 GNU/LinuxThe text was updated successfully, but these errors were encountered: