← Back to team overview

sts-sponsors team mailing list archive

[Bug 1860813] [NEW] LXC container reports spike in swap occasionally

 

You have been subscribed to a public bug by Eric Desrochers (slashd):

[Impact]

 * lxcfs provides a container-specific view of /proc/meminfo.
Occasionally, with near zero or zero swap usage *and* swap accounting
turned on (kernel parameter swapaccount=1), the container will report
100% swap utilization.

 * This issue has been encountered and could result in unecessary alerts
or potential automated attempts at remediating a non-existent "full
swap" issue.

 * This fix changed the logic used for SwapFree when swap accounting is
enabled to better handle situations where memswusage is less than
memusage, caused by the fuzziness of the usage_in_bytes counters used as
the source. Specifically, it added a check for memusage being larger
than memswusage and if so, sets 0 as the value of swapusage. Otherwise
the calculation (memswusage - memusage) remains the same.

[Test Case]

 * Requires a Bionic (18.04) or Eoan (19.10) host with swap space.

 * Enable swap accounting with the "swapaccount=1" kernel parameter on
the kernel command line. Edit /etc/default/grub, add "swapaccount=1" to
the GRUB_CMDLINE_LINUX_DEFAULT="other parameters" line, then run
"update-grub" and reboot to make the change active.

 * Ensure lxd is installed, "sudo apt install lxd"

 * Create a lxd/lxc container with "lxc launch ubuntu:X container_name"
with X being either b[ionic] or e[oan].

 * Open two shells to the container with "lxc shell container_name"

 * In one of the shells, run: watch -n 0.1 "grep Swap /proc/meminfo"

 * In the other, run: while true; do free; done

 * You should see SwapFree intermittently drop to zero in the first
terminal.

 * The fix results in small non-zero swap "usage" intermittently instead
of intermittent SwapFree = 0.


[Regression Potential] 

 * Low, as swap accounting must be enabled to encounter the bug and the
fix.

 * Potential for unanticipated edge cases in the values of memusage and
memswusage to cause incorrect swap reporting within the container, with
swap accounting turned on.

 * Any tooling that expected, compensated, or relied on the behavior may
no longer work as expected.

[Other Info]
 
 * Cherrypick of a one line fix to address this specific situation.

** Affects: lxcfs (Ubuntu)
     Importance: Undecided
     Assignee: Kellen Renshaw (krenshaw)
         Status: Fix Released

** Affects: lxcfs (Ubuntu Xenial)
     Importance: Undecided
         Status: New

** Affects: lxcfs (Ubuntu Bionic)
     Importance: Medium
     Assignee: Kellen Renshaw (krenshaw)
         Status: In Progress

** Affects: lxcfs (Ubuntu Eoan)
     Importance: Undecided
         Status: New


** Tags: sts
-- 
LXC container reports spike in swap occasionally
https://bugs.launchpad.net/bugs/1860813
You received this bug notification because you are a member of STS Sponsors, which is subscribed to the bug report.