<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Jun 4, 2017 at 11:16 PM, 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:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">(Reviving the thread about Container Scaling:  <a href="https://lists.linuxcontainers.org/pipermail/lxc-users/2016-May/011607.html" rel="noreferrer" target="_blank">https://lists.linuxcontainers.<wbr>org/pipermail/lxc-users/2016-<wbr>May/011607.html</a>)<br>
<br>
We have hit critical mass with LXD 2.12 and I need to get Kernel Samepage Merging (KSM) working as soon as possible.  All my research has come to a dead-end, and I am reaching out to the group at large for suggestions.<br>
<br>
Background: We have 5 host servers - each running U16.04 (4.4.0-57-generic), 8G RAM, 20G SWAP, and 50 containers (exact configs per server - nginx and php 7).<br>
<br></blockquote><div><br></div><div>Is this a cloud, or on-site setup?</div><div><br></div><div>For cloud, there are a lot of options that could get you running with MUCH more memory, which would save you lots of headaches getting KSM to work. My favorite is EC2 spot instance on AWS.</div><div><br></div><div>On another note, I now setup most of my hosts with no swap, since performance plummets whenever swap is used. YMMV.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I am trying to get KSM working since each container is an identical replica of the other (other than hostname/IP).  I have read a ton of information on the ‘net about Ubuntu and KSM, yet I can’t seem to get any pages to share on the host.  I am not sure if this is a KSM config issue or if LXD won’t allow KSM between containers.<br>
<br></blockquote><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Here is what I have done thus far:<br>
------------------------------<wbr>----<br>
* Installed the ksmtuned utility and verified ksmd is running on each host.<br>
* Created the ksm_preload and ksm-wrapper tools per this site (the <a href="https://github.com/unbrice/ksm_preload" rel="noreferrer" target="_blank">https://github.com/unbrice/<wbr>ksm_preload</a>).<br>
* Created 50 identical Ubuntu 16.04 containers running nginx<br>
* Modified the nginx startup script on each container to include the ksm_preload.so library; no issues running nginx.<br>
<br>
(Note: since I could not find the ksm_preload library for Ubuntu, I had to use the ksm-wrapper tool listed above)<br>
<br>
All the relevant files under /sys/kernel/mm/ksm still show 0 (pages_shared, pages_sharing, etc) regardless of what I do.<br>
<br>
<br>
Can any (@stgraber @brauner) confirm if KSM is supported with LXD?  If so, what is the “magic” to make it work?  We really want to get 2-3x more sites per container if possible.<br>
<br></blockquote><div><br></div><div>Have you read <a href="https://openvz.org/KSM_(kernel_same-page_merging)">https://openvz.org/KSM_(kernel_same-page_merging)</a> ? Some info might be relevant. For example, it mentions something which you did not wrote:</div><div><br></div><div><div>To start ksmd, issue</div><div>[root@HN ~]# echo 1 > /sys/kernel/mm/ksm/run</div></div><div><br></div><div>Also the section about Tuning and Caveats.</div><div><br></div><div>-- </div><div>Fajar</div></div></div></div>