PHP无法分配内存

Ree*_*e45 4 linux openvz apache-2.2

今天早上在我去办公室的路上,我们共享 VPS 上的每个网站都开始出现相同的错误(几次,不是典型的 memory_limit 错误,这是致命的):

Warning: Unknown: Unable to allocate memory for pool. in Unknown on line 0
Run Code Online (Sandbox Code Playgroud)

共享服务器是一个运行 cPanel 的 64 位 OpenVZ 容器。主机上只有大约 6 个 VPS——这是最大的一个,只有 4GB。主机本身有 24GB RAM。如下图所示,主机和 VPS 上的内存使用率都相当低。CPU 使用率/磁盘/主机似乎都正常。RlimitMem 设置为583653034,但内存使用量与通常情况大致相同。

Apache 2.2、PHP 5.2 (mod_php)

现在重新启动 Apache 已纠正了该问题。但是,我想防止它再次发生,我不确定是什么限制了内存。RlimitMem 设置为583653034,但内存使用量与通常情况大致相同。似乎有足够的内存:是什么导致了这个错误?

VPS 内存使用

共享虚拟机内存使用量,徘徊在 50% 左右

主机内存使用

主机虚拟机内存使用率,使用 20% 徘徊,缓存在 65% 直到早上 6 点,它下降到 ~60%,缓冲在 ~10%

APC信息

 apc.ttl=0
 apc.shm_size=0
 apc.mmap_file_mask=(blank)
Run Code Online (Sandbox Code Playgroud)

1 个 32.0 MB 的段(mmap 内存,pthread 互斥锁)

hob*_*ave 6

这绝对是 APC 内存不足时出现的错误。当我(重新)构建服务器时,我经常忘记将此值增加到 128 M(适合我的应用程序),而这正是您看到的错误。