<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Jul 15, 2017 at 1:58 AM, Ron Kelley <span dir="ltr"><<a href="mailto:rkelleyrtp@gmail.com" target="_blank">rkelleyrtp@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Wondering if anyone else has similar issues.<br>
<br>
We have 5x LXD 2.12 servers running (U16.04 - kernel 4.4.0-57-generic - 8G RAM, 19G SWAP).  Each server is running about 50 LXD containers - Wordpress w/Nginx and PHP7.  The servers have been running for about 15 days now, and swap space continues to grow.  In addition, the kswapd0 process starts consuming CPU until we flush the system cache via "/bin/echo 3 > /proc/sys/vm/drop_caches” command.<br>
<br>
Our LXD profile looks like this:<br>
-------------------------<br>
config:<br>
  limits.cpu: "2"<br>
  limits.memory: 512MB<br>
  limits.memory.swap: "true"<br>
  limits.memory.swap.priority: "1"<br>
-------------------------<br>
<br>
<br>
We also have added these to /etc/sysctl.conf<br>
-------------------------<br>
vm.swappiness=10<br>
vm.vfs_cache_pressure=50<br>
-------------------------<br>
<br>
A quick “top” output shows plenty of available Memory and buff/cache.  </blockquote><div><br></div><div>On the host?</div><div><br></div><div>What does top/htop show on the container?</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">But, for some reason, the system continues to swap out the app.  For example, our “server-4” machine shows 8G total RAM, 500MB free, 2.5G available, and 5G of buff/cache.  Yet, swap is at 5.5GB and has been slowly growing over the past few days.  It seems something is preventing the apps from using the RAM.<br>
<br></blockquote><div><br></div><div>Even if the host has ample RAM, containers won't be able to use it if their usage is over the limit. Hence why I asked for htop in the container.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
To be honest, we have been battling lots of memory/swap issues using LXD.  We started with no tuning, but the app stack quickly ran out of memory.  After editing the profile to allow 512MB RAM per container (and restarting the container), the kswapd0 issue happens.  Given all the issues we have had with memory and swap using LXD, we are seriously considering moving back to the traditional VM approach until LXC/LXD is better “baked”.<br>
<br>
<br></blockquote><div><br></div><div><br></div><div>In the end use whatever works for you.</div><div><br></div><div>I've had enough problems with swap in the past (non-lxc setup) that nowadays I simply disable swap altogether, and configure my apps (e.g. set max connection, max concurrent process, etc) to be able to live with what they have.</div><div><br></div><div>-- </div><div>Fajar</div></div></div></div>