阿帕奇内存错误

Spa*_*ter 5 php linux apache ubuntu apache2

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

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

我才发现这个错误经常出现在虚拟服务器上,但除了切换到php-fpm和nginx以减少内存使用之外,我找不到其他解决方案。

服务器:Ubuntu 14.04 LTS,2GB 内存,VPS

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

苏打水

ste*_*eve 5

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

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

更新您已添加注释以显示“最大段大小(千字节)= 32768”。所以最大段大小是 32MB。原始错误是“无法分配 67108864 字节的共享内存段”。所以无法分配 64MB 的段。

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

echo "134217728" >/proc/sys/kernel/shmmax
echo "134217728" >/proc/sys/kernel/shmall
Run Code Online (Sandbox Code Playgroud)

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

kernel.shmmax=134217728
kernel.shmall=134217728
Run Code Online (Sandbox Code Playgroud)