fah*_*ler 6 linux ubuntu cgroups docker ubuntu-14.04
我从'sudo docker -d'得到这个警告:
警告:您的内核不支持cgroup交换限制.
即使遵循这些步骤(如此链接):
在/ 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重启
我的问题是:
1)我应该担心这个警告吗?
我想我应该是因为我试图在一个强制内存限制很重要的用例中使用docker容器.
2)更改内存use_hierarchy设置是否是个好主意? - 或 - 解决此问题的最佳方法是什么?
我在'dmesg'中看到了这个警告.我不确定尝试将use_hierarchy设置更改为'1'是否是一个好主意(也不确定如何做到这一点)
cgroup:"memory"需要在root上将use_hierarchy设置为1."
或者,有没有更好的方法来解决这个问题?我只是在这里开枪,也许内核升级会有所帮助?我看到一些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服务器上的管理任务比较陌生.
如果您正在使用交换并且想要强制执行包括内存和交换的内存限制,那么 cgroup 交换限制很重要。我有没有交换的 m/c,所以我从来没有启用它。
如果您希望报告的内存使用情况包括所有 subcgroup 报告的内存,则 use_hierarchy 很有用。例如,当 use_hierarchy=1 时,/sys/fs/cgroup/memory/parent 将报告该 cgroup 下的进程以及任何子 cgroup(如 /sys/fs/cgroup/memory/parent/child)的进程使用的内存。这始终是启用的有用设置。但它在大多数操作系统上默认不启用。
总之,您的 docker 容器在没有这两个设置的情况下也能正常工作。启用这些会给你一些额外的好处 - 尤其是。如果您关心限制交换使用和获得准确的内存报告。
归档时间: |
|
查看次数: |
5973 次 |
最近记录: |