zoukankan      html  css  js  c++  java
  • Docker中的OOM事件

    OOM事件

    OOM(Out Of Memory)内存不足,通常是由于某些不稳定的进程占用过多的内存造成,在Docker中称为OOM事件,当容器使用的内存过多时就会发生OOM事件

    这个事件是由Linux内核的内存管理机制发起,并将是使用占用内存过多的容器Kill掉,保证系统的可持续运行。Linux内核为了保证系统的稳定性而将内存划分为两大部分用户空间与内核空间

    用户空间是提供给用户进程所使用的内存空间。内核空间是仅提供给内核运行的空间。用户的进程是无法访问内核空间,而内核是可以访问用户空间与内核空间。

    如果内核发现内存不足够使用时开始发起OOM的状态检查,接着调用out-of-memory函数查找使用内存最多的进程并kill掉

    在Docker的容器中默认是没有限制资源使用的,也就是说容器获得到CPU/内存与宿主机是一样的,为了避免OOM事件,可以给Docker的容器作一些调整

    • 通过性能测试后才放到生产环境的容器中

    • 确保主机上有足够的资源分配

    • 使用SWAP(交换空间)

    • 将容器转换到有足够内存的Docker Swarm的服务中

    注意:Docker不建议手动调整--oom-score-adj与--oom-disable-kill选项来避免OOM

    常见OOM现象: https://www.cnblogs.com/kongzhongqijing/articles/7283599.html

  • 相关阅读:
    11
    10
    09
    08
    201621044079韩烨软件工程作业三
    软工作业二 201621044079韩烨
    软工作业一 201621044079韩烨
    14
    201621044079 week13 网络
    week12 201621044079 流与文件
  • 原文地址:https://www.cnblogs.com/zhangwangvip/p/12767394.html
Copyright © 2011-2022 走看看