繁体   English   中英

关于cgroup交换限制的docker警告,memory.use_hierarchy

[英]Docker warning on cgroup swap limit, memory.use_hierarchy

我从'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没有交换,所以我从来没有启用它。

如果您希望报告的内存使用量包括所有子组报告的内存,则use_hierarchy非常有用。 例如,使用use_hierarchy = 1,/ sys / fs / cgroup / memory / parent将报告该cgroup下的进程以及任何子组(如/ sys / fs / cgroup / memory / parent / child)使用的内存。 这始终是一个有用的启用设置。 但它在大多数操作系统上默认不启用。

总之,如果没有这两个设置,您的docker容器将正常工作。 启用这些功能可以为您带来额外的好处 - 尤其是 如果您关心限制交换使用并获得准确的内存报告。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM