Главная/Ошибки/Нехватка памяти
Битрикс не хватает памяти: ошибки PHP и MySQL и как их убрать
Битрикс не хватает памяти в двух случаях: скрипт PHP упёрся в memory_limit и обрывается сообщением Allowed memory size exhausted, либо MySQL закрыл соединение и пишет MySQL server has gone away. Первую ошибку лечат повышением memory_limit до 256M и выше, вторую настройкой wait_timeout и max_allowed_packet. Если лимиты тарифа уже выбраны, проекту нужен тариф выше или VPS.
Ответ за 30 секунд
Это две разные ошибки с разными причинами: memory_limit ограничивает PHP, а wait_timeout и max_allowed_packet ограничивают MySQL. Сначала поднимают лимит в панели или php.ini, затем проверяют, не упёрся ли сайт в потолок тарифа. Когда потолок достигнут, помогает тариф выше или VPS, а не бесконечная правка конфигов.
Свой процессор и память, root-доступ, почасовая оплата и окружение BitrixVM для тяжёлых проектов (Таймвеб, на 21 октября 2026).
Где именно Битриксу не хватает ресурсов: подсказка по симптому и месту запуска256Mминимальный memory_limit по документации
2048 МБпамять на процесс на тарифах для Битрикс
2006код ошибки MySQL server has gone away
01 · 1 мин
Чем нехватка памяти PHP в Битрикс отличается от обрыва связи с MySQL#
Сообщения похожи по смыслу, но возникают в разных программах и лечатся разными настройками. Начните с того, чтобы понять, какая из ошибок перед вами.
| Что видно в журнале | Где возникает | Причина | Чем лечится |
|---|---|---|---|
| Allowed memory size of N bytes exhausted | PHP | Скрипту не хватило memory_limit | Поднять лимит, облегчить операцию |
| MySQL server has gone away, код 2006 | MySQL | Истёк wait_timeout, запрос больше max_allowed_packet или сервер перезапустился | Настроить MySQL, дробить операцию |
| Lost connection to MySQL server during query, код 2013 | MySQL | Сервер или хостинг закрыл долгий запрос | Сократить запрос, поднять таймауты |
| Out of memory: Killed process в журнале ядра | Linux на VPS | Закончилась оперативная память сервера | Больше RAM, меньше процессов php-fpm |
Если вместо любого из этих текстов вы видите пустую страницу, сначала включите вывод ошибок по инструкции белый экран в Битрикс.
Инструмент · 1 мин
Где именно Битриксу не хватает ресурсов: подсказка по симптому и месту запуска#
Ответьте на два вопроса: что написано в журнале и где работает сайт. Подсказка покажет, чью настройку менять, свою или провайдера.
Где Битриксу не хватает ресурсов
Укажите, что вы видите и где работает сайт. Подсказка назовёт правку
03 · 1 мин
Как поднять memory_limit для Битрикс на хостинге и на VPS#
- Узнайте текущий лимит. В админке откройте раздел «Проверка системы», описанный на странице проверка системы 1С-Битрикс. В консоли значение показывает команда:
Консольная версия PHP может иметь другой лимит, чем веб-версия.php -i | grep memory_limit - На хостинге задайте memory_limit в настройках PHP сайта в панели. На тарифах для Битрикс память на процесс равна 2048 МБ, на обычном виртуальном хостинге 1024 МБ (Таймвеб, на 21 октября 2026).
- Через .htaccess, если PHP работает модулем Apache:
Если сервер ответил ошибкой 500, строку уберите: PHP запущен другим способом. Причины разобраны на странице Битрикс не запускается.php_value memory_limit 512M - На VPS правят php.ini той версии, которая обслуживает сайт, либо файл пула php-fpm:
Первая строка для php.ini, вторая для пула. После правки перезагрузите php-fpm.memory_limit = 512M php_admin_value[memory_limit] = 512M - Повторите операцию. Если сообщение называет прежнее число байтов, правка не применилась: проверьте, тот ли файл вы изменили. Если число стало больше, операция тяжелее нового лимита.
Лимит умножается на число процессов
Двадцать процессов php-fpm по 512M при полной нагрузке потребуют около 10 ГБ. Если оперативной памяти на сервере 4 ГБ, система начнёт убивать процессы, и вместо одной ошибки вы получите другую.
04 · 1 мин
Что делать, если Битрикс пишет MySQL server has gone away#
Сообщение означает, что соединение с базой закрыто к моменту, когда скрипт вернулся с ответом. Причин четыре: скрипт долго занимался своими делами, и сервер закрыл простаивающее соединение по wait_timeout; запрос оказался больше max_allowed_packet, как у большого дампа или пакета товаров; MySQL перезапустился; хостинг завершил слишком долгий запрос.
На VPS эти параметры правят в конфигурации MySQL. Ниже стартовые значения для проверки, а не норма для любого проекта:
[mysqld]
max_allowed_packet = 64M
wait_timeout = 600
Размер буфера InnoDB (innodb_buffer_pool_size) подбирают под память сервера, оставляя запас для PHP. На виртуальном хостинге эти параметры задаёт провайдер, а у тарифов есть лимит нагрузки на MySQL: 20000 у 1Сайт, 55000 у Eterno и 90000 у Premium (Таймвеб, на 21 октября 2026). Тарифы сравниваются на странице хостинг для Битрикс. Если ошибка возникает при развёртывании копии, смотрите порядок в материале восстановление Битрикс из копии.
05 · 1 мин
Когда лимитов хостинга мало и проект Битрикс переводят на VPS#
Переход оправдан, если выполняются два условия из трёх: лимит памяти уже выставлен на максимум тарифа, а ошибка повторяется на обычных операциях; пики посещаемости обрывают процессы; нужен доступ к my.cnf и php-fpm, которого на хостинге нет.
Порядок обычно такой: сначала тариф выше внутри линейки Битрикс-хостинга (1Сайт, Eterno, Premium), затем VPS с готовым окружением BitrixVM. Установка описана на странице установка Битрикс на VPS. Облегчить нагрузку посетителей помогает композитный сайт, но он не спасает тяжёлые операции админки.
06 · 1 мин
Вопросы о нехватке памяти в Битрикс#
Хватит ли 256M памяти PHP, чтобы Битрикс не падал с Allowed memory size?
Для работы сайта это нижняя граница по документации. Тяжёлые операции, вроде импорта большого каталога, могут потребовать больше. Ориентируйтесь на журнал: он называет размер, которого не хватило.
Почему MySQL server has gone away появляется только при импорте или восстановлении Битрикс?
Во время импорта к базе уходят большие запросы и долгие паузы между ними. Первое упирается в max_allowed_packet, второе в wait_timeout. Дробите операцию на порции или поднимите эти параметры на VPS.
Поможет ли кэш, если Битрикс падает по памяти?
Кэш снижает нагрузку от посетителей, но не облегчает операции, которые запускаете вы: импорт, пересчёт, ресайз. Для них нужен запас по memory_limit или порционный запуск.
Как отличить нехватку памяти от лимитов хостинга, когда процессы Битрикса обрываются?
Нехватка памяти PHP оставляет в журнале точное сообщение. Если сообщения нет, а обрывы случайные и совпадают с пиками, процессы завершает хостинг при выходе за лимиты. Подтвердить это можно в поддержке.
Почему этому можно верить
Как мы проверяли
Источники цифр на этой странице: Цены 1С-Битрикс: Управление сайтом, 1c-bitrix.ru/buy/products/cms.php, проверено 21 октября 2026; Хостинг для 1С-Битрикс Таймвеб, timeweb.com/ru/services/cms/bitrix, проверено 21 октября 2026; Хостинг для 1С-Битрикс Таймвеб: лимиты памяти и нагрузки MySQL по тарифам, timeweb.com/ru/services/cms/bitrix, проверено 21 октября 2026.
Нужен полный контроль? Возьмите VPS
Для тяжёлого Битрикса, своего окружения BitrixVM и коробочного Битрикс24 подойдёт виртуальный сервер с root-доступом и почасовой оплатой.
- Больше памяти и процессора
- Root-доступ и окружение BitrixVM
- Для коробочного Битрикс24
- Почасовая оплата