我从’sudo docker -d’得到这个警告:
WARNING: Your kernel does not support cgroup swap limit.
即使遵循这些步骤(如此link):
>修改/ etc / default / grub下面的行(我做了两个好的措施)
RUB_CMDLINE_LINUX_DEFUALT=”cgroup_enable=memory swapaccount=1″
GRUB_CMDLINE_LINUX=”cgroup_enable=memory swapaccount=1″
>然后通过更新-grub / reboot
sudo update-grub; sudo reboot
我的问题是:
1)我应该担心这个警告吗?
我想我应该是因为我试图在一个强制内存限制很重要的用例中使用docker容器.
2)更改内存use_hierarchy设置是否是个好主意? – 或 – 解决此问题的最佳方法是什么?
我在’dmesg’中看到了这个警告.我不确定尝试将use_hierarchy设置更改为’1’是否是一个好主意(也不确定如何做到这一点)
cgroup: “memory” requires setting use_hierarchy to 1 on the root.”
或者,有没有更好的方法来解决这个问题?我只是在这里开枪,也许内核升级会有所帮助?我看到一些3.16内核升级是可能的.
环境:
我正在使用docker version 1.0.1运行Ubuntu 14.04 x64(内核:3.13.0-43-generic x86_64)
其他说明:
我已经阅读了有关类似docker / cgroup错误的其他在线帮助文章,说安装apparmor_parser修复它.但是,在我的系统上,安装了apparmor并且似乎启动得很好(每dmesg).此外,此文件存在:/ sbin / apparmor_parser
另外,我对Linux服务器上的管理任务比较陌生.
如果您希望报告的内存使用量包括所有子组报告的内存,则use_hierarchy非常有用.例如,使用use_hierarchy = 1,/ sys / fs / cgroup / memory / parent将报告该cgroup下的进程以及任何子组(如/ sys / fs / cgroup / memory / parent / child)使用的内存.这始终是一个有用的启用设置.但它在大多数操作系统上默认不启用.
总之,如果没有这两个设置,您的docker容器将正常工作.启用这些功能可以为您带来额外的好处 – 尤其是如果您关心限制交换使用并获得准确的内存报告.