Docker的系统资源限制(转载)
Docker的系统资源限制
OOME
内存资源限制
限制内存资源 ram, swap
-m --memory 限制容器使用 ram
单位:g,m,k,b
--memory-swap 限制交换分区大小
必须先使用 ram 大小,即必须先设置 -m ,才能设置 --memory-swap
--oom-kill-disable 设置容器的omm优先级,进制容器被oom kill掉
cpu资源限制
--cpu-shares 按压缩方式进行比例分配
--cpus 限制容器使用的cpu核数
单位 1=1个CPU 0.5=0.5个CPU
--cpuset-cpus 指定进程运行在哪些cpu核心上
4个核心,内核编号为0-3
压测镜像
dockerhub stress压测镜像
docker pull lorel/docker-stress-ng:latest
## 压测内存
# docker run --name stress -it --rm -m 256m lorel/docker-stress-ng:latest stress --vm 2
## 压测cpu
# docker run --name stress -it --rm --cpus 2 lorel/docker-stress-ng:latest stress --cpu 8
# docker run --name stress -it --rm --cpuset-cpus 0,2 lorel/docker-stress-ng:latest stress --cpu 8
- 按压缩方式进行比例分配
# docker run --name stress -it --rm --cpu-shares 1024 lorel/docker-stress-ng:latest stress --cpu 8
# docker run --name stress2 -it --rm --cpu-shares 512 lorel/docker-stress-ng:latest stress --cpu 8
docker运行防止 OOM kill掉容器的方法
docker run 指定运行参数
--oom-kill-disable 不会因为 oom 而被 kill 掉
--oom-score-adj 调整容器运行的 oom 级别