__alloc_pages: 0-order allocation failed

最近由于机器原因,服务器开发迁移到了一个新的环境。 然而以前运行很好的服务突然崩溃,出现如下错误: Program terminated with signal SIGKILL, Killed. The program no longer exists. (gdb) bt No stack. 然后, cd /var/log more messages | tail 果然,最后几条显示: Sep 22 10:06:11 localhost kernel: __alloc_pages: 0-order allocation failed (gfp=0x1d2/0) 显然,应该是内存分配引起的问题。查看swap,崩溃阶段为0,更加印证了这一点。 查看程序的相关配置,启动了太多的内容,导致内存分配失败,而程序中又没有捕捉这些错误。去掉一些内容后,程序又恢复好了。