发布网友 发布时间:2022-04-22 07:23
共2个回答
热心网友 时间:2022-05-05 07:46
OOM Killer(Out of Memory Killer) 是当系统内存严重不足时 linux 内核采用的杀掉进程,释放内存的机制。
OOM Killer 通过检查所有正在运行的进程,然后根据自己的算法给每个进程一个 badness 分数,拥有最高 badness 分数的进程将会在内存不足时被杀掉。
它打分的算法如下:
某一个进程和它所有的子进程都占用了很多内存的将会打一个高分。
为了释放足够的内存来解决这种情况,将杀死最少数量的进程(最好是一个进程)。
内核进程和其他较重要的进程会被打成相对较低的分。
上面打分的标准意味着,当 OOM killer 选择杀死的进程时,将选择一个使用大量内存,有很多子进程且不是系统进程的进程。
简单来讲,oom-killer 的原则就是损失最小、收益最大,因此它会让杀死的进程数尽可能小、释放的内存尽可能大。在数据库服务器上,MySQL 被分配的内存一般不会小,因此容易成为 oom-killer 选择的对象。
“既然发生了 OOM,那必然是内存不足,内存不足这个问题产生原因很多。
首先第一个就是 MySQL 自身内存的规划有问题,这就涉及到 mysql 相应的配置参数。
另一个可以想到的原因就是一般部署 MySQL 的服务器,都会部署很多的监控和定时任务脚本,而这些脚本往往缺少必要的内存*,导致在高峰期的时候占用大量的内存,导致触发 Linux 的 oom-killer 机制,最终 MySQL 无辜躺*牺牲。”
热心网友 时间:2022-05-05 09:04
OOM:
Object-Oriented Method
JavaEE 与 Android 开发:
OOM - Out of Memory,内存溢出
内存溢出的解决办法:
1、等比例缩小图片
2、对图片采用软引用,及时进行recycle()操作。
3、使用加载图片框架处理图片,如专业处理图片的ImageLoader图片加载框架,还有XUtils的BitMapUtils来处理。
OOM - Out of money,金钱耗尽。房奴通常用这句话提醒自己已经没有金钱不能维持正常生活了,特别是不能进行精神文明消费。