从零开始学docker(五)

  1. 资源

资源



内存为非可压缩资源 限制避免oom内存溢出
发生oom会触发进程被按照相对内存的使用量依次强制杀掉(kill -9 pid) 直到没有异常
–oom-score-adj int Tune host’s OOM preferences (-1000 to 1000)
调整优先级 尽量避免被杀掉
Ram 物理内存
Swap 交换内存
-m 设置物理内存使用量
–memory-swap * 设置交换内存使用量 必须先限制物理内存 -m
–oom-kill-disable 禁止发生oom时被kill 必须先限制物理内存 -m


--memory-swap --memory 功能
正数S 正数M 容器可用空间为S其中 RAM为M swap为(S-M)若S=M 则无可用swap资源
0 正数M 相当于未设置swap
unset 正数M 若docker host 开启swap 容器可用则为2M
-1 正数M 若docker host 开启swap 则容器可使用主机全部swap资源

__*NOTE:__在容器中使用free命令查看的swap并不具有展示空间的指示意义。

Cpu 为可压缩性资源
进程优先级交由cfs 内核调度器调整
进程分2类:
Cpu密集型
IO密集型
–cpu-period int Limit CPU CFS (Completely Fair Scheduler) period
–cpu-quota int Limit CPU CFS (Completely Fair Scheduler) quota
–cpu-rt-period int Limit CPU real-time period in microseconds限制cpu使用时间
–cpu-rt-runtime int Limit CPU real-time runtime in microseconds
-c, –cpu-shares int CPU shares (relative weight)
–cpus decimal Number of CPUs
–cpuset-cpus string CPUs in which to allow execution (0-3, 0,1)运行在那个cpu上 0开始
–cpuset-mems string MEMs in which to allow execution (0-3, 0,1)
docker top containername 查看资源使用情况