Docker 资源限制

本文详细介绍了如何限制Docker容器对内存、CPU、Block IO的使用。通过-cpu-shares设置CPU权重,限制内存使用如通过-m指定内存上限,并讨论了-cpus限制CPU核心数。还涉及到Block IO权重、bps和iops限制,以及Docker实现这些限制的底层技术,如cgroup和namespace。
摘要由CSDN通过智能技术生成

Docker 资源限制

限制容器对内存的使用

下载progrium/stress镜像 作为压力测试

[root@localhost ~]# docker pull progrium/stress
6docker  run --help
-m, --memory bytes   				内存限制             
--memory-reservation bytes 			内存的软限制   
--memory-swap bytes  				内存+交换分区    
--memory-swappiness int   			优化容器内存交换

进行压力测试

docker run -m 200M --memory-swap=300M progrium/stress  --vm 1 --vm-bytes 290M

 --vm 1:启动一个内存工作线程
 --vm-bytes 280M:每个线程分配280内存

因为280M在可分配的范围(300M)内,所以可以正常工作
一直循环分配,释放280M内存

docker run -it -m 200M --memory-swap=300M progrium/stress --vm 1 --vm-bytes 310M

分配的内存超过限额,stress线程报错,容器退出

注:如果在容器启动时只指定 -m 而不指定–memory-swap
那么默认是-m的二倍,容器可以使用无限制物理内存和swap

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值