我从'sudo docker -d'收到此警告:
即使按照以下步骤操作(如link所示):
我的问题是:
1)我应该担心这个警告吗?
我想应该是因为我试图在强制执行内存限制很重要的用例中使用docker容器。
2)更改内存use_hierarchy设置是一个好主意吗? -或-解决此问题的最佳方法是什么?
我在“dmesg”中看到此警告。我不确定尝试将use_hierarchy设置更改为“1”(也不是确切地做到这一点)是否是一个好主意
或者,是否有更好的方法来解决此问题?我只是在这里开枪,也许内核升级会有所帮助吗?我看到一些3.16内核升级是可能的。
环境:
我正在使用Docker版本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没有交换功能,因此我从未启用它。
如果您要报告的内存使用情况包括所有子ccgroups报告的内存,则use_hierarchy很有用。例如,在use_hierarchy = 1的情况下,/sys/fs/cgroup/memory/parent将报告该cgroup下的进程以及所有子cgroup(例如/sys/fs/cgroup/memory/parent/child)使用的内存。这始终是启用的有用设置。但默认情况下,在大多数操作系统上未启用该功能。
总而言之,没有这两个设置,您的Docker容器将可以正常工作。启用这些功能会给您带来一些额外的好处-尤其是。如果您关心限制交换的使用并获得准确的内存报告。
关于linux - Docker警告CGroup交换限制,memory.use_hierarchy,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28838809/