增加apc.shm_size会导致PHP致命错误:内存不足

我正在尝试为运行litespeed的12GB内存的专用服务器上运行的magento商店设置APC。

我正在使用他build议从Rackspace-Magento Whitepage的设置

extension=apc.so apc.shm_size=256M apc.num_files_hint=10000 apc.user_entries_hint=10000 apc.max_file_size=5M 

我得到:

Fatal error: Out of memory (allocated 61341696) (tried to allocate 82 bytes) in /home/bpadmin/public_html/lib/Zend/Db/Statement/Pdo.php on line 290

当我尝试加载一个顶级的分类页面。 其他网页加载正常,但产品最多的类别都会产生相同的错误。

但是,如果我减lessapc.shm_size为128M它完美加载。

PHP的memory_limit是512M,当我开始这个,但我已经上升到1024M。 但是这并不能阻止这个错误。

我已经看到networking上的build议,禁用suExec,所以我有。 但错误仍然存​​在。

同样,有人build议增加litespeed软和硬内存的限制,所以我把它们从300/400增加到500/600,但是也没有帮助。

有没有人知道任何可能导致这一点?

内存问题通常发生的原因有两个。

1.重复加载循环中的某些内容,而不清除前一个循环的内存

2.加载太大的东西

您可以尝试以下方法:

1.尝试通过重新启动apache服务来清除apccaching或使用apc.php文件来清除opcodecaching2.从php.ini中增加内存限制

memory_limit = …

3.用phpinfo检查内存限制值

php phpinfo();

通过defautl检查sysctl中的kernel.shmmax,shmmax远远低于256MB,所以也许这就是为什么它是Oom的原因。