我的 APC 和 Apache 有问题。自从我在 VPS 上安装了 APC 后,我就遇到了很多问题。以下是其中之一。
我的 Apache 一直崩溃,服务器端口:80 可用,但它给我错误消息。
我的配置:/etc/php5/conf.d/apc.ini
extension=apc.so
apc.shm_size=30
apc.shm_segments=1
apc.write_lock = 1
apc.rfc1867 = On
apc.ttl=7200
apc.user_ttl=7200
apc.num_files_hint=1024
apc.mmap_file_mask=/dev/zero
apc.enable_cli=1
Apache 日志中的错误:
[Tue Mar 4 13:49:42 2014] [apc-error] apc_mmap: mmap failed: Cannot allocate memory
[Tue Mar 4 13:49:47 2014] [apc-error] apc_mmap: mmap failed: Cannot allocate memory
[Tue Mar 4 13:49:47 2014] [apc-error] apc_mmap: mmap failed: Cannot allocate memory
[Tue Mar 4 13:48:39 2014] [apc-warning] Unable to allocate memory for pool. in /var/www/vhosts/xxx.com/xxx/application/libraries/Engine/Loader.php on line 103.
我不知道为什么我会遇到这个问题,当我在 APC.ini 中定义了 apc.shm_size 时。
答案1
-> PHP Version 5.3.3-7+squeeze18
-> APC Version 3.1.3p1
-> total used free shared buffers cached
Mem: 4096 2699 1396 0 0 1205
在我将 apc.ini 设置为如下形式后,我的 Apache 错误日志现在很干净:
extension=apc.so
apc.shm_size=96
apc.shm_segments=1
apc.write_lock = 1
apc.rfc1867 = On
apc.ttl=3600
apc.user_ttl=3600
apc.gc_ttl=3600
apc.num_files_hint=1024
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.enable_cli=1
我认为问题使 apc.mmap_file_mask 和 shm_size 增加,但没有问题。现在我的 apache 干净了。