Как решить проблему с зависшими и фантомными сеансами в 1С при обновлении конфигурации?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Розница IT и автоматизация бизнеса
← На главную

Разберем ситуацию, когда при попытке обновить конфигурацию информационной базы в режиме Конфигуратора система выдает сообщение о наличии активных сеансов (например, 10, 100 или более). При этом при попытке найти эти сеансы через Конфигуратор (список активных пользователей), Консоль кластера серверов 1С или средства мониторинга СУБД (MS SQL Server) список сеансов оказывается пустым.

Выясним причины возникновения фантомных сеансов

Проанализируем, почему возникают подобные «сиротские» блокировки в системе:

  1. Рассинхронизация процессов кластера (rmngr и rphost). При включенном механизме принудительного завершения проблемных процессов рабочий процесс rphost может аварийно завершаться сервером. В этот момент менеджер кластера rmngr не всегда успевает корректно очистить таблицы блокировок. В результате в оперативной памяти и файлах сеансового кэша остаются фантомные записи, которые не отображаются в консоли, но удерживают монопольные блокировки структур БД.
  2. Зависание внешних компонентов печати (splwow64.exe). При работе с макетами печати и драйверами принтеров этикеток (особенно при взаимодействии 64-разрядного сервера 1С с 32-разрядными драйверами) в Windows может зависать системный процесс splwow64.exe. Он удерживает дескрипторы процессов, из-за чего rphost не может корректно закрыть сеансы и транзакции.
  3. Ошибки конкретного релиза платформы. В некоторых версиях платформы (в частности, ветки 8.3.10) существуют платформенные ошибки работы менеджера кластера с фоновыми заданиями и кэшем сеансов.

Быстрое устранение симптома: настройка кластера серверов

Рассмотрим способ быстро избавиться от появления фантомных блокировок без постоянной перезагрузки физического сервера.

В настройках кластера серверов 1С флаг «Принудительно завершать проблемные процессы» отвечает за жесткое уничтожение процессов rphost при сбоях или превышении лимитов. Если снятие этого флага устраняет проблему, значит, блокировки образуются именно в момент аварийного завершения рабочего процесса.

Обратите внимание: Отключение принудительного завершения проблемных процессов устраняет лишь симптом. Если в базе есть код с утечкой памяти или нестабильная внешняя компонента, процесс rphost продолжит разрастаться в RAM. Поэтому важно выполнить комплексную настройку сервера.

Способы полного решения проблемы

Разберем по шагам действия для окончательного устранения сбоев:

1. Обновление платформы «1С:Предприятие»

Если проблема связана с технической ошибкой релиза (например, 8.3.10.2561), рекомендуется обновить платформу до исправленного релиза (8.3.10.2667 или более актуальных версий 8.3).

2. Очистка сеансового кэша кластера

Чтобы сбросить зависшие фантомные блокировки без перезагрузки всего сервера:

  1. Остановите службу агента сервера 1С (1C:Enterprise 8.3 Server Agent).
  2. Перейдите в каталог данных реестра кластера (по умолчанию папка srvinfo/reg_1541).
  3. Удалите файлы сеансового кэша с префиксом snccntx*.
  4. Запустите службу агента сервера 1С.

3. Настройка мягкого перезапуска рабочих процессов

В Консоли администрирования кластера серверов настройте параметры плавного обновления процессов rphost:

  1. Откройте свойства кластера серверов.
  2. Установите значение «Интервал перезапуска рабочих процессов» (например, 86400 секунд — раз в сутки).
  3. Укажите параметры «Допустимый объем памяти» и «Превышение допустимого объема памяти».
  4. Задайте параметр «Количество соединений на один рабочий процесс» (например, 25–50). Это позволит распределить нагрузку по нескольким процессам rphost и завершать зависший процесс изолированно, не затрагивая остальных пользователей.

4. Корректировка параметров информационной базы

Посмотрим на настройки в режим Конфигуратора (меню Администриование -> Параметры информационной базы):

  1. Установите параметр «Время засыпания пассивных сеансов» не менее 600 секунд (10 минут).
  2. Задайте адекватное значение для параметра «Время завершения спящих сеансов».

5. Проверка службы печати ОС

Если проблема проявляется после печати на принтерах этикеток или ценников, перезапустите службу Windows «Диспетчер печати» (Print Spooler) или завершите зависший процесс splwow64.exe через Диспетчер задач.

← На главную