Нередко системные администраторы и разработчики сталкиваются с ситуацией, когда служба сервера «1С:Предприятия» самовольно перезапускает рабочий процесс rphost.exe с определенной периодичностью — раз в час, раз в полчаса или даже каждые несколько минут. В момент такого перезапуска активные сеансы пользователей аварийно разрываются, а попытка сохранить изменения в конфигураторе заканчивается аварийным завершением работы с потерей несохраненных данных.
Разберем детально, почему платформа инициирует перезапуск процессов или завершается аварийно, как правильно локализовать проблему и какие шаги необходимо предпринять для стабилизации работы сервера 1С и СУБД MS SQL Server.
Проанализируем ключевые факторы, приводящие к перезапуску процессов rphost менеджером кластера или операционной системой:
rmngr принудительно останавливает рабочий процесс.Access Violation (код 0xC0000005) возникает из-за некорректной работы драйверов оборудования, внешних компонент защиты, криптографии либо багов конкретного релиза платформы 1С.Config и ConfigSave на стороне MS SQL Server могут возникнуть логические несоответствия, провоцирующие падение процесса при попытке фиксации изменений.Рассмотрим первоочередные настройки в консоли администрирования серверов 1С:Предприятия, которые исключат плановые перезапуски по таймерам и объемам:
0.0.0 (лимит снят).rphost.Выясним причину падения процесса с помощью технологического журнала платформы 1С. Для этого создадим конфигурационный файл logcfg.xml в каталоге настроек платформы (для 64-битной версии: C:\Program Files\1cv8\conf\logcfg.xml):
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="C:\1C_Logs" history="24">
<event>
<eq property="name" value="EXCP"/>
</event>
<event>
<eq property="name" value="PROC"/>
</event>
<event>
<eq property="name" value="ATTN"/>
</event>
<property name="all"/>
</log>
</config>
Проанализируем собранные события после очередного сбоя:
PROC регистрирует запуск, остановку и удаление процессов операционной системой или кластером.EXCP покажет исключительные ситуации, ошибки работы с памятью и стек вызовов, на котором произошло аварийное прерывание.ATTN зафиксирует критические предупреждения менеджера кластера.Если в технологическом журнале зафиксировано получение команды на завершение работы от операционной системы, обратимся к журналу событий Windows (Event Viewer):
1000).rphost.exe, обратим внимание на поле «Имя сбойного модуля» (Faulting module name). Например, падение в библиотеке backend.dll или dbmsql.dll сигнализирует об ошибке платформы при работе с запросами к СУБД.0xc0000005 подтверждает нарушение прав доступа при чтении или записи оперативной памяти.Разберем по шагам регламентные операции для очистки временных данных и восстановления структуры метаданных:
1C:Enterprise 8.3 Server Agent. Перейдем в каталог данных кластера (каталог srvinfo). Очистим папки контекстных данных и временных файлов сеансов (директории вида snccntx*), после чего запустим службу заново.AppData\Local\1C\1cv8 и AppData\Roaming\1C\1cv8.
DBCC CHECKDB ('ИмяБазы') WITH NO_INFOMSGS, ALL_ERRORMSGS;
.dt и загрузим в чистую тестовую базу. Этот шаг позволяет пересобрать таблицы метаданных и исключить накопившиеся ошибки динамических обновлений.Проанализируем технические требования: ранние сборки ветки 8.3.10 содержат известные платформенные ошибки взаимодействия с MS SQL Server 2014, выражающиеся в утечках памяти процессов. Рекомендуется:
srvinfo и каталоги СУБД из проверок в реальном времени.