I am using the most recent version of lxcfs, commit: 17f9a5a9d647467e3858fa751e40cc7c022dd475
When I spawn a container with the settings... lxc.cgroup.memory.limit_in_bytes = 256M lxc.cgroup.memory.memsw.limit_in_bytes = 512M ... I find that inside the container, we have: [root@test ~]# free -m total used free shared buffers cached Mem: 256 24 231 6 0 20 -/+ buffers/cache: 3 252 Swap: 1023 0 1023 As you can see, the Total swap should have been 256MB, but it is being shown as ~1GB (same as host). Basically, my memsw setting is being ignored. Now, when I revert the patch https://github.com/lxc/lxcfs/commit/a2de34bad72fb1b30af05d2f39a2b7bc6f20e42d Then I see the correct usage: [root@test ~]# free -m total used free shared buffers cached Mem: 256 24 231 6 0 20 -/+ buffers/cache: 3 252 Swap: 256 0 256 But off course, this brings back the issue reported at https://github.com/lxc/lxcfs/issues/60 To fix both the problems, I proposed a patch at: https://lists.linuxcontainers.org/pipermail/lxc-devel/2016-January/013214.html which works well for me when host machine is CentOS 7. But fails to work when the host machine is Ubuntu 15.10 I followed: https://github.com/torvalds/linux/blob/v4.3/mm/memcontrol.c#L4037 https://github.com/torvalds/linux/blob/v4.3/mm/memcontrol.c#L2893 https://github.com/torvalds/linux/blob/v4.3/include/linux/page_counter.h#L21 To find out that the default value for /sys/fs/cgroup/memory/lxc/test/memory.memsw.limit_in_bytes is RES_LIMIT, which is PAGE_COUNTER_MAX * PAGE_SIZE, which is equal to 9223372036854775807 (LONG_MAX) in case of CentOS7 (kernel 3.10.0) and 9223372036854771712 in case of Ubuntu14.04 (kernel 4.2.0). So assumption of LONG_MAX always is obviously wrong. Only if somehow lxcfs knew that memsw.limit is not set in the container configuration...? -- Nehal J Wani _______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel