Как де-фрагментировать кэш APC
Можно ли выполнить дефрагментацию кэша APC или единственный доступный вариант - очистить и восстановить его?
Если мы не можем его фрагментировать, будет ли хорошей идеей сбросить весь кэш, очистить его и затем перезагрузить дамп? это очистит фрагментацию?
3 ответа
APC магазин опкоды в оперативной памяти. У него нет управления фрагментацией.
Единственный способ дефрагментации - очистить кеш. Используйте apc_clear_cache() в скрипте php. Или перезапустите httpd.
Обратите внимание, что APC придется восстановить свой кеш.
Не должно быть (или немного) фрагментации, если вы предоставите APC достаточно памяти. Проверьте мой ответ здесь, чтобы узнать, как угадать требуемый оперативный памяти. Что вызывает "Невозможно выделить память для пула" в PHP?
Есть альтернативный способ. Если вы устанавливаете где-нибудь файл с именем apc.php с паролем (очень важно!), Вы можете войти на этот сайт и удалить с него код операции и пользовательский кэш.
В Debian 8 установите APC:
sudo apt-get install -y php5-apcu
Затем скопируйте apc.php
в ваш веб-корень:
cp /usr/share/doc/php5-apcu/apc.php /var/www/html
Отредактируйте файл, изменив ADMIN_USERNAME
& ADMIN_PASSWORD
,
Тогда посетите apc.php
файл в браузере, войдите и нажмите Clear Cache
,