docker资源限制
容器得以实现 依赖于内核中的两个特性 1、Namespace 2、Cgroup Docker默认没有限制容器的资源,它可以耗尽宿主机上的所有资源 Docker提供了一个方式控制容器能够使用多少CPU,内存,IO 可压缩,不可压缩
Linux capabilities可了解。 OOME 内存泄露 1、一旦发生OOME,任何进程都可能被杀死,包括docker-daemon为此docker-daemon特地调整了docker daemon的OOM优先级,一面他被内核杀死,但是容器的优先级并未被调整 2、
OOM-ODJ 权重越高,杀死几率越低 OOM-SCORE 得分越高,杀死几率越高 一旦被杀死,内存释放,restart
如何限制使用内存
创建的时候指定
Ram ,swap
CFS进程调度器
docker run --memory=200M --cpu-shares=10 mysql --vm 1 --cpu=1 --verbose --vm 1 一个进程 默认256MB 交换memory默认与memory相同;总共516M