php - Apache 内存错误

标签 php linux apache ubuntu apache2

当我尝试重新启动 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 无法分配共享内存段”。

使用 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

关于php - Apache 内存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31620082/

相关文章:

linux - 我应该担心管道溢出吗?

PHP - 按动态键数对数组进行分组

c - 使用 inotify 检查监视文件夹中的文件是否被覆盖

php - 将带撇号的文本插入 MySQL

c - 有没有办法用 C 访问 ARM 的通用寄存器?

从 Apache 运行的 PHP 无法写入文件系统

java - java从mysql数据库读取docx文件

Apache /SNI : disabled or non-existent subdomain leads to other SNI subdomain being served

php - dompdf 不显示由 PHP 文件生成的图像

php - MySQL 数据库上的日期时间值不正确