Apache 内存错误
Apache memory error
当我试图重新启动 apache2 时,我遇到了以下错误:
Fatal Error Unable to allocate shared memory segment of 67108864
bytes: mmap: Cannot allocate memory (12)
我才发现这个错误经常发生在虚拟服务器上,但我找不到解决方案,只能切换到 php-fpm 和 nginx 来减少内存使用。
服务器:Ubuntu 14.04 LTS,2GB 内存,VPS
有谁知道如何解决这个问题,因为 RAM 似乎不是问题所在(1.9GB 免费)。
汽水
"Fatal Error Unable to allocate shared memory segment".
使用ipcs -lm
确定当前的共享内存限制。并使用 ipcs -ma
确定当前使用了多少共享内存。
更新 您已添加评论以显示 "max seg size (kbytes) = 32768"。所以最大段大小是 32MB。原始错误是 "Unable to allocate shared memory segment of 67108864 bytes"。所以无法分配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
当我试图重新启动 apache2 时,我遇到了以下错误:
Fatal Error Unable to allocate shared memory segment of 67108864 bytes: mmap: Cannot allocate memory (12)
我才发现这个错误经常发生在虚拟服务器上,但我找不到解决方案,只能切换到 php-fpm 和 nginx 来减少内存使用。
服务器:Ubuntu 14.04 LTS,2GB 内存,VPS
有谁知道如何解决这个问题,因为 RAM 似乎不是问题所在(1.9GB 免费)。
汽水
"Fatal Error Unable to allocate shared memory segment".
使用ipcs -lm
确定当前的共享内存限制。并使用 ipcs -ma
确定当前使用了多少共享内存。
更新 您已添加评论以显示 "max seg size (kbytes) = 32768"。所以最大段大小是 32MB。原始错误是 "Unable to allocate shared memory segment of 67108864 bytes"。所以无法分配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