docker资源限制

Posted fengzi7314

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker资源限制相关的知识,希望对你有一定的参考价值。

默认情况下一个docker容器是没有任何资源限制的,因此它可以耗尽内核分配给docker容器的所有资源

在这种情况下,docker给我们提供了可以控制容器可以使用多少内存,cpu,cpu属于可压缩资源,而内存属于非可压缩资源,这也就意味着,如果内存耗尽将会OOME(Out Of Memory Exception),一旦发生OOME,任何进程都有可能被杀死,包括docker daemon在内,为此Docker特地调整了docker daemon的OOM优先级,以免它被内核“正法”,但容器的优先级并未被调整

-m or --memory=:限制内存资源大小单位可以是k,M,G

--memory-swap *:限制交换分区大小,前提是必须先要设置-m才可以在设置--memory-swap

--memory-swap --memory 功能
正数S 正数M 容器可用总空间为S,其中内存为M,swap为(S-M),若S=M,则无可用swap资源
0 正数M 相当于未设置swap(unset)
unset 正数M 若主机(Docker Host)启用了swap,则容器的可用swap为2*M
-1 正数M 若主机(Docker Host)启用了swap,则容器可使用最大主机上所有swap空间的swap资源
注意   在容器内使用free命令可以看到的swap空间并不具有其所展现出的空间的意义

以上是关于docker资源限制的主要内容,如果未能解决你的问题,请参考以下文章

云原生之Docker实战容器的资源限制使用方法

docker 容器资源限制

06-Docker资源限制

Docker容器资源限制

docker私有仓库registry和cgroup资源限制

docker私有仓库registry和cgroup资源限制