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资源限制的主要内容,如果未能解决你的问题,请参考以下文章