Я пытаюсь настроить APC для своего магазина Magento, работающего на выделенном сервере с 12 ГБ ОЗУ, работающим под управлением litespeed.
Я использую предложенные им настройки из Белая страница Rackspace-Magento
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
когда я пытаюсь загрузить страницу категории верхнего уровня. Другие страницы загружаются нормально, но все категории с наибольшим количеством товаров вызывают одну и ту же ошибку.
Однако, если я уменьшу apc.shm_size до 128M, он загрузится отлично.
Когда я начал это делать, PHP memory_limit был 512 МБ, но с тех пор я увеличил его до 1024 МБ. Но это не останавливает ошибку.
Я видел в сети предложения по отключению suExec, и я это сделал. Но ошибка сохраняется.
Точно так же было предложено увеличить лимиты мягкой и жесткой памяти litespeed, поэтому я увеличил их с 300/400 до 500/600, но это тоже не помогло.
Кто-нибудь знает что-нибудь еще, что могло вызвать это?
Проблемы с памятью обычно возникают по одной из двух причин.
1. Повторная загрузка чего-либо в цикле без очистки памяти из предыдущего цикла
2. загрузка чего-то слишком большого
Вы можете попробовать следующее:
1. Попробуйте очистить кеш apc, перезапустив службу apache, или используйте файл apc.php для очистки кеша кода операции 2. Увеличьте ограничение памяти из php.ini
memory_limit = ...
3.Проверьте значение лимита памяти с помощью phpinfo
php phpinfo ();
проверьте kernel.shmmax в sysctl по умолчанию, shmmax намного меньше 256 МБ, так что, может быть, поэтому он идет.