Пошта
Пошук і усунення несправностей

Allowed memory size exhausted у WordPress: як виправити нестачу пам'яті

Нестача пам'яті у WordPress

Дві помилки часто з'являються разом. Allowed memory size of X bytes exhausted означає, що сторінці знадобилося більше пам'яті, ніж їй виділено. Maximum execution time exceeded означає, що їй знадобилося більше часу. Обидві є симптомами одного й того самого: щось виконує забагато роботи під час одного завантаження сторінки.

Коротко

  • Підвищення ліміту є лише тимчасовим пластирем, а не виправленням.
  • Найчастіші причини: важкий плагін, велике зображення і неконтрольований імпорт.
  • Якщо ліміт вичерпується на головній сторінці, проблема в коді, а не в сервері.

1. Подивіться, де виникає помилка

Де видно помилкуЩо це означає
Під час завантаження зображенняЗображення завелике для обробки з поточним лімітом пам'яті
Під час оновленняРозпакування пакета не вміщується в ліміт
Під час імпорту чи експортуЗавдання завелике для одного запуску, його треба розбити на частини
На звичайній сторінціПлагін або тема виконує забагато роботи при кожному завантаженні

2. Тимчасово підвищте ліміт

Ліміт пам'яті можна підвищити, додавши у файл wp-config.php рядок define('WP_MEMORY_LIMIT', '256M');. Це правильний крок, коли сайт потрібен робочим саме зараз, щоб узятися за справжню причину. Але це не рішення, бо зі зростанням сайту ліміт знову буде вичерпано.

3. Знайдіть, що з'їдає пам'ять

Вимкніть плагіни і вмикайте їх по одному, як описано в інструкції плагін зламав сайт. Пам'ять зазвичай з'їдають конструктори сторінок, багатофункціональні теми, плагіни статистики, що записують кожне відвідування в базу даних, і плагіни резервного копіювання, які архівують увесь сайт просто під час відвідування.

4. Зменште зображення

Фото прямо з камери може важити кілька десятків мегабайтів, а WordPress ще й створює з нього кілька розмірів. Перед завантаженням зменшуйте зображення до розміру, придатного для вебу. Це повністю усуває одну з найпоширеніших причин.

5. Розбийте велике завдання

Імпорт, експорт і масові зміни варто виконувати частинами. Багато інструментів уже мають пакетний режим, і він майже завжди кращий, ніж підвищувати ліміти, доки один запуск не вміститься.

6. Якщо симптомом є повільність, а не збій

Нестача пам'яті й часу є крайнім проявом того самого явища. Якщо сайт не падає, але працює повільно, почніть з інструкції чому сайт на WordPress повільний. А якщо з'являється помилка сервера, див. 502, 503 і 504.

Чого краще не робити

Не підвищуйте ліміт знову і знову, якщо ніхто не дивиться, куди йде пам'ять. Це лише відкладає проблему і робить її дорожчою, бо зрештою ви впретеся в реальну стелю сервера, а не в рядок налаштувань.

Якщо не хочете робити це самостійно

Ми знайдемо, що з'їдає пам'ять чи час, і виправимо це, а не просто підвищимо ліміт. Також скажемо, чи йдеться про окремий плагін, чи сайт уже переріс свій тариф.

Дізнайтеся, як ми відновлюємо роботу сайту »