Ошибка СУБД: Out of memory в 1С — как настроить память процесса rphost
- Пользователи получают аварийное сообщение:
Ошибка СУБД: Out of memoryилиНедостаточно памяти для выполнения операции. - Формирование тяжелого отчета (например, ОСВ за несколько лет) «роняет» сеансы других бухгалтеров.
- Процесс
rphost.exeна сервере 1С съедает всю доступную оперативную память (RAM) до 99%. - Сервер 1С перестает отвечать и требует постоянных ручных перезапусков службы ragent.
Почему это происходит
Процесс rphost — это главный рабочий процесс сервера 1С, который выполняет все тяжелые расчеты. Если кто-то формирует гигантский отчет без отборов или в коде есть утечка памяти, rphost забирает всю RAM сервера, пока операционная система не откажет в выделении нового блока памяти.
Пошаговая настройка в Консоли администрирования кластера 1С
- Зайдите на сервер и откройте утилиту Администрирование серверов 1С:Предприятия.
- Раскройте дерево: Локальный кластер → нажмите правой кнопкой на кластер (по умолчанию 1541) → выберите Свойства.
- Найдите следующие критически важные параметры:
Параметр Рекомендуемое значение Смысл настройки Допустимый объем памяти 80% от общей RAM(в байтах)При превышении этого лимита кластер создаст новый процесс, а старый плавно выключит. Интервал превышения допустимого объема 60 секундВремя, после которого начнется перезапуск разросшегося процесса. Количество ИБ на процесс 1(для мощных серверов)Изолирует каждую базу в свой личный rphost. - Нажмите ОК и примените параметры.
- В свойствах рабочего сервера укажите Количество рабочих процессов > 1, чтобы при сбое одного процесса остальные пользователи продолжали работать.
Частые вопросы (FAQ)
Поможет ли увеличение файла подкачки (pagefile.sys)?
Это временная мера, которая предотвратит падение, но сервер начнет катастрофически тормозить из-за медленного чтения с диска вместо оперативной памяти.
Если rphost перезапустится, пользователей выкинет из программы?
Если настроен кластер и отказоустойчивость сеансов, платформа плавно переведет неактивные сеансы на новый rphost без потери введенных данных.
Как посчитать значение 'Допустимый объем памяти' в байтах?
Умножьте объем RAM в гигабайтах на 1024 * 1024 * 1024. Например, для 32 ГБ: 32 * 0.8 * 1073741824 = 27487790694 байт.
Почему 32-битный сервер 1С выдает эту ошибку даже на сервере со 128 ГБ памяти?
32-битный процесс rphost архитектурно не может адресовать более 2–3 ГБ памяти. Решение — обязательный переход на 64-битную платформу 1С:Предприятие.