Hi Łukasz, thanks for the heads-up.
I just tested systemd from -proposed, version 204-5ubuntu20.28 and it
fixes the issue reported in this LP.
The test consists in doing multiple SSHs in a loop (better explained in
the description). I've run the test with and without cgmanager
installed, in kernels 4.4.0-119 and 3.13.0-145, no memory leaks
Important to notice, I wasn't able to observe any constant increase in
CPU utilization from both binaries (logind and cgm); I kept monitoring
and didn't notice anything abnormal.
I'll mark this as verified.
** Tags removed: sts-sru-needed verification-needed verification-needed-trusty
** Tags added: verification-done verification-done-trusty
You received this bug notification because you are a member of STS
Sponsors, which is subscribed to the bug report.
systemd-logind: memory leaks on session's connections (trusty-only)
Status in systemd package in Ubuntu:
Status in systemd source package in Trusty:
Status in systemd source package in Xenial:
Status in systemd source package in Artful:
Status in systemd source package in Bionic:
Below the SRU request form. Please refer to the Original Description
to a more comprehensive explanation of the problem observed.
* systemd-logind tool is leaking memory at each session connected. The
issues happens in systemd from Trusty (14.04) only.
* Three issues observed:
- systemd-logind is leaking entire sessions, i.e, the sessions are not
feeed after they're closed. In order to fix that, we proactively add
the sessions to systemd garbage collector (gc) when they are closed.
Also, part of the fix is to make cgmanager package a dependency. Refer
to comment #1 to a more thorough explanation of the issue and the fix.
- a small memory leak was observed in the session creation logic of
systemd-logind. The fix for that is the addition of an appropriate
free() call. Refer to comment #2 to more details on the issue and fix.
- another small memory leak was observed in the cgmanager glue code of
systemd-logind - this code is only present in this specific Ubuntu
release of the package, due to necessary compatibility layer with
upstart init system. The fix is to properly call free() in 2
functions. Refer to comment #3 to a deep exposition of the issue and
* The basic test-case is to run the following loop from a remote machine:
while true; do ssh <hostname-target> "whoami"; done
* It's possible to watch the increase in memory consumption from
"systemd-logind" process in the target machine. One can use the
"ps uax" command to verify the RSS of the process, or count its
anonymous pages from /proc/<logind_pid>/smaps.
* Since the fixes are small and not intrusive, the potential for
regressions are low. More regression considerations on comments #1, #2
and #3 for each fix.
* A potential small regressson is performance-wise, since now we add
sessions to garbage collector proactively.
To manage notifications about this bug go to:
Mailing list: https://launchpad.net/~sts-sponsors
Post to : email@example.com
Unsubscribe : https://launchpad.net/~sts-sponsors
More help : https://help.launchpad.net/ListHelp