发布时间:2020-05-21 19:51:13来源:阅读:
OOM(Out Of Memory)内存不足,通常是由于某些不稳定的进程占用过多的内存造成,在Docker中称为OOM事件,当容器使用的内存过多时就会发生OOM事件,这个事件是由Linux内核的内存管理机制发起,并将是使用占用内存过多的容器Kill掉,保证系统的可持续运行。Linux内核为了保证系统的稳定性而将内存划分为两大部分用户空间与内核空间
用户空间是提供给用户进程所使用的内存空间。内核空间是仅提供给内核运行的空间。用户的进程是无法访问内核空间,而内核是可以访问用户空间与内核空间。在Linux内存管理机制中还存在一个定时任务,检查计算机的内存是否足够使用,分别收集以下几个指标
Total page cache as page cache is easily reclaimed Total free pages because they are already available Total free swap pages as userspace pages may be paged out Total pages managed by swapper_space although this double-counts the free swap – pages. This is balanced by the fact that slots are sometimes reserved but not used Total pages used by the dentry cache as they are easily reclaimed Total pages used by the inode cache as they are easily reclaimed如果内核发现内存不足够使用时开始发起OOM的状态检查,接着调用out-of-memory函数查找使用内存最多的进程并kill掉 oom
在Docker的容器中默认是没有限制资源使用的,也就是说容器获得到CPU/内存与宿主机是一样的,为了避免OOM事件,可以给Docker的容器作一些调整
通过性能测试后才放到生产环境的容器中确保主机上有足够的资源分配
使用SWAP(交换空间)
将容器转换到有足够内存的Docker Swarm的服务中
注意:Docker不建议手动调整–oom-score-adj与–oom-disable-kill选项来避免OOM。
2020-02-20
DVD相关名词解释
HDMI接口连接外接显示器后,如何设置外接显示器的声音设备负责声音输出
ThinkPad E440 E540关机情况下电池掉电
python升级后使用yum出现No module named yum错误处理
如何在COMBO光驱下使用Nero软件刻录光盘
地下城与勇士游戏卡如何设置
淘宝登录不了,登录网页打不开
V460/B460新版本ELAN触控板双击拖动功能如何实现
安装驱动提示第三方INF不包含数字签名信息