Docker:资源限制

本文探讨了Docker如何通过NameSpace和CCgroups来控制容器的资源限制,特别是Memory和CPU方面。默认情况下,Docker容器没有资源限制,但可以通过参数如`--memory`、`--memory-swap`、`--cpu-shares`等进行控制。当内存不足时,Linux会触发OOME,Docker守护进程设定了较高的OOME优先级以避免被杀死。同时,介绍了`--memory-swappiness`、`--oom-kill-disable`和`--cpuset-cpus`等选项的用途,帮助管理和限制容器的资源使用。
摘要由CSDN通过智能技术生成

前面我们提到过,容器能够得以实现,主要依赖于内核的种的NameSpace,CCgroups
NameSpace(命名空间)

 CCgroups(控制组)控制NameSpace(命名空间)来进行资源的分配

 1、默认情况下一个Docker中的一个Container是没有资源限制的,调度器能够Container调度多少资源,它都能 吃掉

2、Docker provides 提供了控制Memory,CPU,block IO,从这三个维度来进行控制的,其实它正真能控制前两个Memory,CPU,【我们知道Memeory是不可压缩资源,当一个容器内的进程耗尽CPU时候再次申请CPU,有可能会因为OOM而被kill掉;而CPU没关系【可压缩资源】,你耗费的太多,内核使劲压缩,不会分配给你】

3、这些控制都依赖于LInux capabilites

Memory

Linux是如何执行OOME的?

在Linux主机上如果内核探测到当前宿主机,没有足够的内存可用,用于执行重要的功能就会抛出OOME (Out Of Memory Exceptio

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值