oom码,全称“OutOfMemory”,意思是“内存用完了”。它来源于java.lang.OutOfMemoryError。
为什么会出现java.lang.OutOfMemoryError的原因是:
官方介绍为当JVM因为没有足够的内存来为对象分配空间并且垃圾回收器也已经没有空间可回收时,就会抛出java.lang.OutOfMemoryError:···(注意:这是个很严重的问题,因为这个问题已经严重到不足以被应用处理)。
一、OOM含义:OOM,全称“Out Of Memory”,意思是“内存用完了”。 它来源于java.lang.OutOfMemoryError。一般由于内存泄露或者堆的大小设置不当引起。对于内存泄露,需要通过内存监控软件查找程序中的泄露代码,而堆大小可以通过虚拟机参数-Xms,-Xmx等修改。
OOM Killer(Out of Memory Killer) 是当系统内存严重不足时 linux 内核采用的杀掉进程,释放内存的机制。
OOM Killer 通过检查所有正在运行的进程,然后根据自己的算法给每个进程一个 badness 分数,拥有最高 badness 分数的进程将会在内存不足时被杀掉。