加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

linux – 更改docker容器的swappiness

发布时间:2020-12-16 03:28:55 所属栏目:安全 来源:网络整理
导读:我正在使用docker来容纳大量服务.有时,集装箱化服务大量交换.我已经通过主机系统上的sysctl将vm.swappiness更改为1.但是,docker的内存cgroup仍然具有旧的(默认)值60.因此,所有特定容器的cgroup具有与父级相同的值. sysctl vm.swappiness vm.swappiness = 1ca

我正在使用docker来容纳大量服务.有时,集装箱化服务大量交换.我已经通过主机系统上的sysctl将vm.swappiness更改为1.但是,docker的内存cgroup仍然具有旧的(默认)值60.因此,所有特定容器的cgroup具有与父级相同的值.

sysctl vm.swappiness
> vm.swappiness = 1
cat /sys/fs/cgroup/memory/docker/memory.swappiness
> 60
cat /sys/fs/cgroup/memory/docker/${CONTAINER_ID}/memory.swappiness
> 60

所有尝试手动更改swappiness(通过将所需的值回显到memory.swappiness文件)都会失败,并且权限被拒绝.

主题:如何限制容器swappiness?

我使用的是内核3.13的ubuntu 12.04,我的docker版本是1.1.2,版本为0.2的本机执行驱动程序(不是lxc).内核加载了cgroup_enable = memory swapaccount = 1.

最佳答案
如果升级到3.18内核或更高版本,则会删除阻止修改子/层次结构cgroups中的cgroup memory.swappiness参数的限制.删除此限制的Linux内核补丁可以在这里看到:https://github.com/torvalds/linux/commit/3dae7fec5e884a4e72e5416db0894de66f586201

Docker 1.8很可能包含以下PR(https://github.com/docker/docker/pull/14004),允许容器设置自己的memory.swappiness值,允许用户控制此cgroup设置,只要Docker守护程序主机内核具有上述补丁或主机内核是3.18或更高.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读