Skip to content
This repository has been archived by the owner on Jul 1, 2023. It is now read-only.

Implement workaround to clean up leaking cgroups (#570) #576

Merged
merged 1 commit into from
Mar 17, 2020

Conversation

knisbet
Copy link
Contributor

@knisbet knisbet commented Mar 17, 2020

  • Implement workaround to clean up leaking cgroups

This change implements a cleaner, that scans for cgroups created by
systemd-run --scope that do not have any pids assigned, indicating
that the cgroup is unused and should be cleaned up. On some systems
either due to systemd or the kernel, the scope is not being cleaned
up when the pids within the scope have completed execution, leading
to an eventual memory leak.

Kubernetes uses systemd-run --scope when creating mount points,
that may require drivers to be loaded/running in a separate context
from kubelet, which allows the above leak to occur.

kubernetes/kubernetes#70324
kubernetes/kubernetes#64137
gravitational/gravity#1219

  • change logging level for cgroup cleanup

  • address review feedback

  • address review feedback

(cherry picked from commit 00ed8e6)

* Implement workaround to clean up leaking cgroups

This change implements a cleaner, that scans for cgroups created by
systemd-run --scope that do not have any pids assigned, indicating
that the cgroup is unused and should be cleaned up. On some systems
either due to systemd or the kernel, the scope is not being cleaned
up when the pids within the scope have completed execution, leading
to an eventual memory leak.

Kubernetes uses systemd-run --scope when creating mount points,
that may require drivers to be loaded/running in a separate context
from kubelet, which allows the above leak to occur.

kubernetes/kubernetes#70324
kubernetes/kubernetes#64137
gravitational/gravity#1219

* change logging level for cgroup cleanup

* address review feedback

* address review feedback

(cherry picked from commit 00ed8e6)
@knisbet knisbet requested review from a team, r0mant and a-palchikov March 17, 2020 05:18
@knisbet knisbet merged commit 2cfad56 into version/6.3.x Mar 17, 2020
@knisbet knisbet deleted the kevin/6.3.x/1219-fix-dangling-cgroups branch March 17, 2020 18:08
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants