Почему произвольно перезапускаются рабочие процессы сервера 1С и как решить проблему

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

Сбой в работе рабочего процесса rphost.exe — одна из наиболее неприятных проблем при администрировании сервера «1С:Предприятие». При аварийном завершении или перезапуске рабочего процесса происходят разрывы клиентских соединений, аварийно завершаются фоновые и регламентные задания, а пользователи получают ошибки завершения работы. При этом проблема может проявляться на всех информационных базах кластера (Бухгалтерия, ЗУП, ERP) независимо от платформы и настроек количества баз на процесс.

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

Выясним причины падения рабочих процессов

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

  1. Ошибка работы с памятью (Access Violation / 0xc0000005): Критическая ошибка внутри системных библиотек платформы (например, backend.dll или dbms.dll) при некорректной обработке вызовов, повреждении индексов полнотекстового поиска или сбоях в работе внешних компонентов (COM/Native API).
  2. Срабатывание лимитов перезапуска кластера: В свойствах кластера или сервера 1С могут быть заданы параметры принудительного перезапуска процессов при превышении определенного объема виртуальной памяти или интервала времени.
  3. Повреждение служебных файлов кэша кластера (каталог srvinfo): Накопление поврежденных конфигурационных файлов кластера или временных данных может вызывать сбои в работе службы агента сервера.
  4. Блокировка файлов антивирусными средствами или DEP: Попытки антивируса заблокировать временные файлы процесса или срабатывание механизма защиты от выполнения данных (Data Execution Prevention).

Шаг 1. Проверяем параметры автоматического перезапуска в консоли кластера

В первую очередь проанализируем настройки центрального сервера и кластера 1С. Для этого откроем консоль администрирования кластеров 1С:Предприятия и выполним следующие действия:

  1. Перейдем в свойства кластера 1С.
  2. Проверим значение параметров «Допустимый объем памяти» и «Интервал превышения допустимого объема памяти». Если эти параметры установлены, сервер автоматически перезапускает процессы rphost.exe, выходящие за указанные лимиты.
  3. Проверим параметр «Интервал перезапуска процессов». Если задано значение, отличное от нуля, процессы будут регулярно перезапускаться по таймеру.

Если автоматический перезапуск не требуется или настроен слишком агрессивно, сбросим эти параметры или увеличим пороговые значения объема памяти.

Шаг 2. Очищаем кэш и реестр кластера (каталог srvinfo)

Если настройки перезапуска не заданы, а сбои продолжают возникать на всех базах, причиной может быть повреждение реестра кластера или служебных файлов в каталоге srvinfo. Проведем процедуру очистки служебного каталога.

Важно: Каталог srvinfo содержит настройки кластера и файлы журнала регистрации (ЖР). Перед удалением обязательно сохраните копию данных!

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

  1. Остановим службу агента сервера «1С:Предприятие» (1C:Enterprise 8.3 Server Agent).
  2. Перейдем в служебный каталог реестра кластера (по умолчанию C:\Program Files\1cv8\srvinfo в Windows или /var/1C/v8.3/srvinfo в Linux).
  3. Сделаем резервную копию всей папки srvinfo в надежное место. Особое внимание уделяем каталогам информационных баз, содержащим файлы журнала регистрации (1CV8Msg и 1CV8.lgf/1CV8.lgx).
  4. Очистим содержимое каталога srvinfo или переименуем его.
  5. Запустим службу агента сервера 1С. При старте будет создан чистый каталог служебных файлов.
  6. Заново зарегистрируем информационные базы в консоли администрирования или восстановим конфигурационные файлы кластера 1CV8Clst.lst из копии (если реестр не был поврежден).

Шаг 3. Настраиваем Технологический журнал и аварийные дампы

Чтобы точно определить, какой конкретно запрос, фоновое задание или модуль вызывают аварийное завершение процесса, развернем детальное журналирование. Для этого создадим файл logcfg.xml в каталоге C:\Program Files\1cv8\8.3.X.X\bin\conf со следующим содержимым:


<config xmlns="http://v8.1c.ru/v8/tech-log">
    <dump location="C:\1C_Dumps" format="full" count="3"/>
    <log location="C:\1C_Logs" history="24">
        <event>
            <eq property="Name" value="EXCP"/>
        </event>
        <event>
            <eq property="Name" value="EXCPCNTX"/>
        </event>
        <event>
            <eq property="Name" value="PROC"/>
        </event>
        <property name="all"/>
    </log>
</config>

Проанализируем сформированные логи после очередного падения процесса:

  1. События EXCP и EXCPCNTX покажут исключительные ситуации и контекст их возникновения (конкретную функцию или модуль 1С).
  2. Событие PROC зафиксирует факт старта и завершения работы процесса rphost.exe.
  3. Дампы памяти (файлы .dmp) в каталоге C:\1C_Dumps позволят определить сбойную библиотеку (DLL), если падение происходит на уровне операционной системы.

Шаг 4. Очищаем временные файлы и добавляем исключения в антивирус

Дополнительно выполним профилактические настройки операционной системы:

  1. Остановим службу 1С и очистим каталог временных файлов (%TEMP%) учетной записи, от имени которой запущен агент сервера.
  2. Добавим в исключения антивирусного сканера следующие пути:
    • Каталог установки платформы (C:\Program Files\1cv8\...).
    • Каталог кластера srvinfo.
    • Папку временных файлов службы 1С.

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

← На главную