Apache内存错误

时间:2015-07-24 21:28:39

标签: php linux apache ubuntu apache2

当我尝试重启apache2时,遇到以下错误:

  

致命错误无法分配67108864的共享内存段   bytes:mmap:无法分配内存(12)

我只发现这个错误经常发生在虚拟服务器上,但我找不到解决方案,而不是切换到php-fpm和nginx以减少内存使用。

服务器:Ubuntu 14.04 LTS,2GB RAM,VPS

有没有人知道如何解决这个问题,因为RAM似乎不是问题(1.9GB免费)。

Sodaa

1 个答案:

答案 0 :(得分:4)

"致命错误无法分配共享内存段"。

使用ipcs -lm确定当前的共享内存限制。并使用ipcs -ma确定当前正在使用的共享内存量。

更新您已添加评论以显示"最大段大小(千字节)= 32768"。因此最大段大小为32MB。原始错误是"无法分配67108864字节的共享内存段"。因此无法分配64MB的段。

将最大共享内存段大小从32MB增加到128MB。

echo "134217728" >/proc/sys/kernel/shmmax
echo "134217728" >/proc/sys/kernel/shmall

然后重试。如果apache2工作正常,则通过在/etc/sysctl.conf中放置一个条目,使更改在重新启动后仍然存在,如下所示:

kernel.shmmax=134217728
kernel.shmall=134217728