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 级别
原文地址:https://www.cnblogs.com/evescn/p/12795837.html