摘自:http://dbanotes.net/database/linux_outofmemory_oom_killer.html
检查当前LowFree的空闲值:
cat /proc/buddyinfo
Node 0, zone DMA 4 3 3 2 1 1 0 0 1 1 3
Node 0, zone DMA32 87 21 23 25 16 8 22 16 3 5 40
实际上,并没有理解,如何解读。
LowMem 区 (也叫 NORMAL ZONE ) 一共 880 MB,而且不能改变(除非用 hugemem 内核)。对于高负载的系统,就可能因为 LowMem 利用不好而引发 OOM Killer 。一个可能原因是 LowFree 太少了,另外一个原因是 LowMem 里都是碎片,请求不到连续的内存区域【根据我遇到的一个案例,一个猜想是 有些应用一次性请求比较大的内存,恰恰又是 880M 之内的,空闲的(LowFree)不够大,就会触发 OOM Killer 出来干活】
实际上,对于高负载的服务器而言,由于大量的数据堆积在内存中,导致整个系统重启,而且在重启之后,出现多次的异常,导致系统宕机。
时间: 2024-10-14 02:14:33