Как де-фрагментировать кэш 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,

Другие вопросы по тегам