400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

Docker怎么限制容器可用的内存-创新互联

小编给大家分享一下Docker怎么限制容器可用的内存,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

成都创新互联公司服务项目包括井冈山网站建设、井冈山网站制作、井冈山网页制作以及井冈山网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,井冈山网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到井冈山省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

为什么要限制容器对内存的使用?

限制容器不能过多的使用主机的内存是非常重要的。对于 linux 主机来说,一旦内核检测到没有足够的内存可以分配,就会扔出 oome(out of memmory exception),并开始杀死一些进程用于释放内存空间。糟糕的是任何进程都可能成为内核猎杀的对象,包括 docker daemon 和其它一些重要的程序。更危险的是如果某个支持系统运行的重要进程被干掉了,整个系统也就宕掉了!这里我们考虑一个比较常见的场景,大量的容器把主机的内存消耗殆尽,oome 被触发后系统内核立即开始杀进程释放内存。如果内核杀死的第一个进程就是 docker daemon 会怎么样?结果是所有的容器都不工作了,这是不能接受的!

针对这个问题,docker 尝试通过调整 docker daemon 的 oom 优先级来进行缓解。内核在选择要杀死的进程时会对所有的进程打分,直接杀死得分高的进程,接着是下一个。当 docker daemon 的 oom 优先级被降低后(注意容器进程的 oom 优先级并没有被调整),docker daemon 进程的得分不仅会低于容器进程的得分,还会低于其它一些进程的得分。这样 docker daemon 进程就安全多了。

我们可以通过下面的脚本直观的看一下当前系统中所有进程的得分情况:

?

1
网页标题:Docker怎么限制容器可用的内存-创新互联
本文地址:http://mbwzsj.com/article/ceeicp.html
  • 网站建设专属方案

  • 网站定制化设计

  • 7X24小时服务

  • N对管家服务

让你的专属顾问为你服务