docker资源限制主要针对
1、内存
2、CPU
docker官网资源限制介绍
1.默认情况下,容器没有资源限制;docker提供了可以限制容器使用多少内存或CPU方法
设置docker run命令时配置标志
2.对于linux主机来说,若是没有足够的内容执行其它系统任务,将会抛出OOM(out of Memory Exception,内存溢出、内存泄漏、内存异常)
系统会自动杀死进程以释放内存空间;
dockerd会调整docker守护进程程序的PPM优先级来减轻风险
OOM优先级机制(分数高的会优先被kill)
1、范围-1000-1000,设置-1000则永远不会被宿主机kernel kill
/proc/PID/oom_score_adj
2、范围-17-+15,设置-17不能被kill,此参数存在为了和旧版本linux内核兼容
/proc/PID/oom_adj
3、系统综合进程的内存消耗量、CPU时间(utime+stime)、存货时间(utime-start time)和oom_adj计算出的进程得分
/proc/PID/oom_score
问题:net.ifnames用途
vim /etc/default/grub
net.ifnames=1 (GRUB_CMDLINE_LINUX行添加或修改)
1、容器的内存限制
1. 硬性内存限制:不执行硬性限制内存限制,则容器会可以使用尽可能多的内存
2. 非硬性内存限制:只允许容器使用给定的内存大小