Docker 学习10 Docker的系统资源限制及验证

一、资源限制 

  

二、内存限制

  1、OOME

    

    每一个进程都会有oom_adj(oom计算分数的权重)值,此值越大,oom_score(oom得分)越高,越容易被干掉,因此非常非常重要的容器化应用,一开始就应该调他的oom_adj的值。

  2、容器内存资源限制

    a、如果没有设置--memory,那么设置--memory-swap也不会生效

      

    b、若想在容器占用内存非常大的情况下不被oom杀掉,那么需要将 --oom-kill-disable 设置为 True

      

      --memory-swappiness 设置为0时表示能不用就不用,设置为100时表示能用就用,我们物理服务器也有此参数,在/proc/sys/vm 目录下

三、CPU设置

  1、

    

    cpu 核心数是小于进程数的,当所有进程都需要运行,需要运行的数量大于核心数量的的时候哪个会优先被运行呢?因此我们需要调度器,因此内核中进程管理子系统中最重要的一个组件就是进程调度器,就是调度进程在本地运行的CPU核心之上的,一般非实时优先级为100 - 139,基本进程都是120 ,可通过 奈斯 来调整优先级,范围为[-20,19],还有实时优先级(一般都是内核级的,特别重要的),从0-99,为了调度非实时优先级(100-139之间)的进程,我们有个调度器叫CFS scheduler(完全公平调度器)。

    docker 1.13版本后还支持实时调度。

  2、

    

 

posted @ 2019-04-29 16:37  Presley  阅读(329)  评论(0编辑  收藏  举报