linux 限制内存资源,linux – Docker容器中的内存限制和CPU限制

更新:

在stackoverflow上发现了很多关于这个主题的问题和讨论.虽然它们被标记为接受并由数千名用户启动,但它们似乎不是正确的答案.

我运行了一个具有资源限制的docker(版本1.13.1,build 092cba3)容器,如下所示:

docker run --privileged -v /sys/fs/cgroup:/sys/fs/cgroup -m 4096M --cpuset-cpus='0' --cpus=1 --cpu-shares=256 -p $IMAGE_NAME

主机系统(RHEL 7)有4个内核和8G内存.基本上我想限制容器的可用内存和CPU.在成功启动容器后,我打开了bash并试图从容器中找到限制信息.但我无法获得正确的信息.

我试过这个:

sudo cat /proc/meminfo

结果是:

主机系统

MemTotal:8008812 kB

MemFree:7416404 kB

MemAvailable:7537332 kB

Docker容器

MemTotal:8008812 kB

MemFree:7318052 kB

MemAvailable:7498764 kB

同样,我想获得CPU限制:

grep -c ^processor /proc/cpuinfo

结果是:

主机系统4

Docker Image 4

似乎容器不能看到容器强制执行的CPU和内存限制.我还试图查询cgroup信息.

mkdir -p /tmp/memory

mount -n -t cgroup -o memory cgroup /tmp/memory

然后我查看cgroup文件:

[root@engrlab memory]# cat /tmp/memory/memory.limit_in_bytes

9223372036854771712

此数字大于主机系统的实际内存.

有没有办法验证资源约束是否已在容器中正确设置?如何从容器中找到资源约束信息?感谢任何建议.

解决方法:

我尝试这个命令这个我的docker托管它工作

docker run -it -d -m 100M –cpuset-cpus =’0′–cpus = 1 –cpu-shares = 256 –name testing ubuntu / bin / bash

标签:docker,linux,linux-kernel,containers,cgroups

来源: https://codeday.me/bug/20190701/1347625.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值