Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Превышен объем сеансовых данных 1С:Предприятие и СУБД

Сеансовые данные в 1С: Утечки памяти и ошибка превышения объема (rphost)

Обновлено: 10.09.2026 · Официальная документация ↗

Механизм сеансовых данных (Session Data)

В клиент-серверной архитектуре 1С рабочий процесс (rphost.exe) хранит временную информацию о контексте каждого подключенного пользователя — это и есть сеансовые данные. Они включают значения параметров сеанса, временные таблицы наборов записей, кэш метаданных и контекст форм. Ошибка «Превышен допустимый объем сеансовых данных» или «Memory limit exceeded» возникает, когда код конфигурации (часто неоптимальный) пытается поместить в память сервера объем данных, превышающий лимиты, заданные администратором кластера, либо исчерпывает всю доступную RAM сервера. Бизнес-риски: аварийное завершение сеанса пользователя, падение процесса rphost (что отключает сразу группу пользователей).

Типы утечек и их локализация

Вид данных в памятиПричина разрастанияКак исправить
Параметры сеанса (Массивы)Программист запихнул огромную таблицу значений (ТЗ) в параметр сеанса.Использовать Временное хранилище или сохранять в ИБ.
Кэш глобального контекстаЦикличное создание COM-объектов без их очистки (Release).Рефакторинг кода (освобождение памяти = Неопределено).
Серверные вызовы без контекстаПередача огромных массивов между клиентом и сервером.Оптимизация архитектуры клиент-серверных вызовов.

Настройка кластера и поиск узких мест

Сценарий 1: Настройка параметров рабочих процессов кластера

Если ошибка возникает не из-за бага, а из-за реального роста нагрузки, нужно настроить перезапуск rphost и лимиты памяти в консоли кластера 1С.

  1. Откройте «Администрирование серверов 1С Предприятия».
  2. Откройте свойства Локального кластера.
  3. Параметр Допустимый объем памяти (Кб): Установите предел (например, 80% от RAM сервера). При превышении кластер перестанет назначать новые сеансы на этот процесс.
  4. Параметр Безопасный расход памяти за один вызов (Байт): Ограничивает память на 1 запрос (защита от кривого кода).
  5. Настройте Интервал перезапуска (например, раз в 86400 сек / 24 часа), чтобы очищать фрагментированную память ночью.

Сценарий 2: Поиск виновника через Технологический журнал (ТЖ)

Для отлова транзакции, которая сжирает память, нужен ТЖ.

 Настройка logcfg.xml для отслеживания потребления памяти (EXCP и CALL)
<log>
  <event>
    <eq property="Name" value="EXCP"/>
  </event>
  <event>
    <eq property="Name" value="CALL"/>
    <ge property="MemoryPeak" value="500000000"/> <!-- Вызовы более ~500 МБ -->
  </event>
  <property name="all"/>
</log>

Типовые ошибки администраторов

  • Попытка решить проблему только добавлением ОЗУ (RAM): Если в коде 1С есть цикл, добавляющий строки в Таблицу Значений до бесконечности, база сожрет и 32 ГБ, и 256 ГБ памяти. Проблема решается в коде.
  • Жесткое убивание rphost.exe: Через Task Manager. Это приводит к разрыву соединений всех пользователей, чьи сеансы обслуживались этим процессом (включая тех, кто нормально работал).
Память сервера улетает в 100%, а 1С регулярно падает?
Поиск утечек памяти в 1С сродни поиску иголки в стоге сена. Разработчики ITSTM проведут профилирование кода с помощью инструментального замера времени и анализа дампов памяти, локализуют неоптимальные алгоритмы и перепишут их по стандартам 1С (Клиент-Сервер).
💡 Практика специалистов: Практика ITSTM: При анализе утечек памяти мы часто находим проблему в использовании механизма 'Компоновка Данных' (СКД) при программном формировании отчетов, когда разработчик забывает очищать ПроцессорВывода после генерации огромных табличных документов.

Частые вопросы (FAQ)

Влияет ли TempDB (SQL) на сеансовые данные?

Нет. Сеансовые данные живут в оперативной памяти (RAM) сервера 1С:Предприятие (в процессе rphost). В TempDB живут временные таблицы базы данных SQL Server. Это разные уровни.

Где физически хранятся сеансовые данные?

В оперативной памяти сервера приложений 1С. При нехватке памяти или бездействии пользователя часть данных может сбрасываться в файл сеансовых данных (snccntx.dat) в каталоге кластера (snccntx).

Как принудительно очистить сеансовые данные?

Только завершением сеанса пользователя. При закрытии клиента 1С платформа отправляет серверу сигнал на уничтожение контекста, и память (через Garbage Collector платформы) очищается.

Что такое 'Временное хранилище'?

Это специальный механизм платформы (ПоместитьВоВременноеХранилище) для передачи больших объемов данных (файлов, таблиц) между клиентом и сервером. Оно живет независимо от контекста вызова, но привязано к сеансу.

Полезные материалы
Рекомендуем