Reputation: 165
I'm trying install LXC (0.7.4.1) on my Debian 6 but when I run the lxc-checkconfig I get "Cgroup memory controller: missing"
root@lxcsrv01:~# lxc-checkconfig
Kernel config /proc/config.gz not found, looking in other places...
Found kernel config file /boot/config-2.6.32-5-686
--- Namespaces ---
Namespaces: enabled
Utsname namespace: enabled
Ipc namespace: enabled
Pid namespace: enabled
User namespace: enabled
Network namespace: enabled
Multiple /dev/pts instances: enabled
--- Control groups ---
Cgroup: enabled
Cgroup namespace: enabled
Cgroup device: enabled
Cgroup sched: enabled
Cgroup cpu account: enabled
Cgroup memory controller: missing
Cgroup cpuset: enabled
--- Misc ---
Veth pair device: enabled
Macvlan: enabled
Vlan: enabled
File capabilities: enabled
enabled
Note : Before booting a new kernel, you can check its configuration
usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig
According google search I need to recompile my kernel but I don't know how. Someone can explain me how to do this?
Best regards
Upvotes: 6
Views: 12845
Reputation: 504
I am having similar memory cgroup issues, and have looked into it quite a bit. I wrote a blog entry about here:
http://blog.raymond.burkholder.net/index.php?/archives/639-Debian-Stretch-LXC-Memory-Controller.html
In summary, the kernel is compiled with the necessary memory cgroup support. The fly-in-the-ointment: lxc-checkconfig has a bug in it, and will not properly show the status of the memory cgroup. CONFIG_CGROUP_MEM_RES_CTLR=y
is applicable for older kernels only (sometime before 3.6, I believe).
I end up making two adjustments: one adjustment to the /boot/config-$version
, and one adjustment to /etc/default/grub
. Both are explained in the article.
But bottom line, the general recommendation appears to be: don't enable it if you really don't need to perform memory limitation management on containers. There is some performance and memory overhead.
Upvotes: 3
Reputation: 66
The kernel of Debian 6 has no memory cgroup feature. However you can run lxc without it.
If you NEED memory cgroup, it's easy to install the new kernel from backports.
Or, if you'd like to re-compile the kernel, you can use kernel-package system of Debian; http://newbiedoc.sourceforge.net/system/kernel-pkg.html
Upvotes: 5
Reputation: 21
Update kernel from here.
Then reboot your system. This problem is solved automatically, but if not go to /boot/config-<versionnumber>-generic
. For instance: /boot/config-3.11.0-13-generic
Here see if CONFIG_CGROUP_MEM_RES_CTLR=y
is available or not. If 'yes' then ok, otherwise paste it that in.
Upvotes: 2