PHP/APC 致命错误,apc_mmap: mmap failed

Sud*_*ned 6 php apache-2.2 alternative-php-cache

我看到一些间歇性 CPU 使用率飙升至 100%,这与这些日志条目有关:

[27-Feb-2012 13:29:29] PHP Fatal error:  PHP Startup: apc_mmap: mmap failed: in Unknown on line 0
[27-Feb-2012 13:29:30] PHP Fatal error:  PHP Startup: apc_mmap: mmap failed: in Unknown on line 0
[27-Feb-2012 13:29:31] PHP Fatal error:  PHP Startup: apc_mmap: mmap failed: in Unknown on line 0
[27-Feb-2012 13:29:31] PHP Fatal error:  PHP Startup: apc_mmap: mmap failed: in Unknown on line 0
Run Code Online (Sandbox Code Playgroud)

phpinfo() 表示 APC 已设置,据我所知,此错误不会在实时站点上导致可见的 500 个错误,这是一个 WordPress 安装,每月观看次数约为 60 万次。到目前为止,谷歌一直没有帮助,我希望这里有人对导致这种情况的原因以及如何解决它有一些见解。奇怪的是,这个错误只显示在 /usr/local/apache2/logs/error_log 而不是 cpanel 配置站点的 error_log。

Mik*_*nen 6

如果这不会在站点上导致可见错误,那么它必须在 apache 子进程创建过程中发生得太早,以至于在错误发生之前没有请求传输到子进程。谷歌搜索错误消息表明 ( http://www.litespeedtech.com/support/forum/showthread.php?t=4242 ) 您的 APC 配置不正确,您应该检查以下配置参数:

apc.enabled = 1
apc.shm_size = 48 ;; MB, make sure that this is allowed by the system
apc.include_once_override = 1 ;; test both values
apc.mmap_file_mask = /tmp/apc.XXXXXX ;; verify mask if you use file backed storage
Run Code Online (Sandbox Code Playgroud)

我猜想某些 APC 进程请求的 SHM mmap 内存比内核或系统配置愿意提供的要多。