К статье
Практический материал

Администрирование · 13 мин

Как перезапустить рабочие процессы 1С вручную

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

Рабочие процессы кластера серверов 1С (rphost) со временем накапливают утечки памяти, зависшие сеансы и «отвалившиеся» соединения с СУБД. Симптомы знакомы любому администратору: пользователи жалуются на зависания, процесс rphost съедает всю оперативную память сервера, новые сеансы не устанавливаются, а существующие не отвечают. В такой ситуации ручной перезапуск рабочих процессов — стандартный и быстрый способ вернуть систему к жизни без перезагрузки всего сервера.

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

Важно понимать: принудительное завершение рабочего процесса обрывает все сеансы, которые он обслуживал. Незавершённые транзакции будут откачены СУБД, а пользователи получат ошибку соединения и потеряют несохранённые данные. Поэтому перед перезапуском стоит оценить, какие сеансы затронуты, и по возможности предупредить пользователей или выбрать время минимальной нагрузки.

Когда действительно нужен перезапуск рабочих процессов

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

Также перезапуск применяют после изменения некоторых настроек кластера, при накоплении большого числа разорванных, но не завершённых соединений, и как временную меру при известной утечке памяти в конфигурации или платформе — до выхода исправления. Если же проблема в медленных запросах, блокировках на уровне СУБД или перегруженном дисковом массиве, перезапуск rphost даст лишь кратковременный эффект или не даст его вовсе.

Маршрут решения

Как выбрать действие

Один процесс rphost занял почти всю память, остальные работают нормальноЗавершите только этот процесс через консоль кластера или диспетчер задач
Все процессы деградировали или кластер не отвечает на запросы консолиПерезапустите службу агента сервера 1С целиком
Проблема в блокировках на уровне СУБД, а 1С отвечает нормальноРазбирайтесь с блокировками в СУБД — перезапуск rphost не поможет
Завис один пользовательский сеансСначала попробуйте завершить только этот сеанс в консоли кластера, а не весь процесс

Подготовка: что проверить перед перезапуском

Перед принудительным завершением процесса откройте консоль кластера и посмотрите список сеансов: сколько пользователей работает, какие фоновые задания выполняются, нет ли длительных операций вроде проведения больших документов, обмена данными или резервного копирования. Обрыв таких операций может оставить данные в промежуточном состоянии, хотя транзакционная модель СУБД обычно откатывает незавершённые изменения.

Определите, какой именно процесс rphost обслуживает проблемные сеансы. В консоли кластера в разделе «Рабочие процессы» видно, сколько сеансов и соединений закреплено за каждым процессом, а также объём занятой памяти. Если проблема локализована в одном процессе, завершайте только его — остальные пользователи этого даже не заметят.

По возможности предупредите пользователей через рассылку или механизм сообщений и дождитесь завершения критичных операций. Если ситуация аварийная и ждать нельзя, зафиксируйте хотя бы список активных сеансов — это поможет потом объяснить пользователям, чьи данные могли не сохраниться.

Способ 1: перезапуск процесса через консоль кластера

Консоль администрирования серверов 1С — самый управляемый и безопасный способ. Откройте оснастку «Администрирование серверов 1С Предприятия» (она ставится вместе с компонентами сервера на Windows), разверните нужный кластер, перейдите в ветку «Рабочие процессы» и найдите целевой процесс по PID, объёму памяти или числу сеансов.

Через контекстное меню процесса доступно завершение. Кластер автоматически создаст новый рабочий процесс взамен завершённого — специально запускать его не нужно. Сеансы, обслуживавшиеся завершённым процессом, будут разорваны; пользователи при следующем обращении получат новое подключение к другому процессу, если их клиентское приложение ещё работает.

Если консоль кластера не установлена на вашем рабочем месте, её можно запустить прямо на сервере или установить отдельно на административную машину — для подключения достаточно сетевого доступа к серверу и прав администратора кластера.

Порядок действий в консоли кластера
  1. 1
    Откройте оснастку «Администрирование серверов 1С Предприятия» и подключитесь к нужному серверу
  2. 2
    Разверните кластер и откройте ветку «Рабочие процессы»
  3. 3
    Найдите проблемный процесс по памяти, PID или числу сеансов
  4. 4
    Проверьте в ветке «Сеансы», какие пользователи обслуживаются этим процессом
  5. 5
    Завершите процесс через контекстное меню
  6. 6
    Убедитесь, что кластер создал новый рабочий процесс и сеансы восстанавливаются

Способ 2: перезапуск службы агента сервера 1С

Если консоль кластера недоступна, зависла или проблема затрагивает весь кластер, перезапускают службу агента сервера. В Windows откройте оснастку services.msc, найдите службу «Агент сервера 1С:Предприятия» (название включает версию платформы) и выполните перезапуск через контекстное меню. Это завершит все рабочие процессы кластера и запустит их заново.

То же самое можно сделать из командной строки с правами администратора. Имя службы зависит от версии платформы и разрядности, поэтому сначала полезно посмотреть точное имя в списке служб.

cmd
sc stop "1C:Enterprise 8.3 Server Agent (x86-64)" && sc start "1C:Enterprise 8.3 Server Agent (x86-64)"

На Linux агент сервера перезапускается через systemd или init-скрипт, в зависимости от способа установки. Команда обычно выглядит как systemctl restart с именем соответствующего юнита. Учтите, что перезапуск службы обрывает абсолютно все сеансы всех баз кластера — это самый «тяжёлый» вариант, применяйте его, когда точечное завершение процессов не помогает или невозможно.

Способ 3: завершение процесса rphost через диспетчер задач или командную строку

Когда консоль кластера недоступна, а перезапускать всю службу нежелательно, можно завершить конкретный процесс rphost.exe средствами операционной системы. Откройте диспетчер задач на сервере, на вкладке «Подробности» найдите нужный rphost.exe — ориентируйтесь на объём памяти и загрузку процессора. Чтобы точно связать PID с процессом кластера, сверьтесь с консолью кластера заранее или посмотрите командную строку процесса (её можно включить в столбцах диспетчера задач).

Из командной строки процесс завершается командой taskkill по PID. Для нескольких процессов операцию повторяют для каждого. Кластер заметит пропажу процесса и создаст новый автоматически — в этом плюс архитектуры: ручной запуск rphost не требуется и не рекомендуется.

cmd
taskkill /PID 12345 /F

Завершение через taskkill с ключом /F — это жёсткое убийство процесса без штатного завершения соединений. Для кластера это равнозначно аварийному отказу процесса, механизм отказоустойчивости отработает, но все сеансы процесса будут потеряны мгновенно. Используйте этот способ, когда процесс действительно завис и не отвечает на штатные команды.

Как проверить, что перезапуск прошёл успешно

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

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

Контрольные точки

Как проверить результат

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

Новый процесс rphost создан, число процессов восстановлено

Тревожный признак

Процесс не появился — проверьте, запущена ли служба агента и не исчерпаны ли ресурсы сервера

Подключение пользователей
Норма

Клиенты подключаются, сеансы появляются в консоли

Тревожный признак

Ошибки соединения с кластером — проверьте журнал событий и сетевые настройки

Потребление памяти новым процессом
Норма

Память растёт постепенно по мере подключения сеансов

Тревожный признак

Память стремительно растёт сразу — проблема в конфигурации или платформе, а не в процессе

Фоновые и регламентные задания
Норма

Задания выполняются по расписанию

Тревожный признак

Задания «висят» в состоянии выполнения — завершите зависшие сеансы вручную

Типичные ошибки и ограничения ручного перезапуска

Самая частая ошибка — завершение не того процесса. На сервере с несколькими rphost легко перепутать PID и оборвать сеансы сотни пользователей вместо одного проблемного процесса. Всегда сверяйте PID с консолью кластера перед taskkill. Вторая ошибка — перезапуск процессов как универсальная реакция на любую медленную работу: если причина в запросах или блокировках СУБД, через час ситуация повторится.

Есть и ограничения. Ручной перезапуск не решает утечки памяти в коде конфигурации или платформы — он лишь отодвигает момент отказа. Если перезапуски требуются регулярно, настройте автоматический перезапуск рабочих процессов в свойствах кластера (по расписанию или при превышении порога памяти) и параллельно ищите первопричину. Также помните: механизм перезапуска в кластере не переносит сеансы между процессами мгновенно — пользователи всё равно увидят кратковременный разрыв.

Типичные ошибки
01
Завершение процесса без проверки сеансов — обрыв важных операций пользователей и потеря несохранённых данных
02
Перезапуск всей службы агента вместо точечного завершения одного процесса — лишний простой для всех баз кластера
03
Попытка запустить rphost вручную с командной строки — процесс не зарегистрируется в кластере корректно, нужно дать кластеру создать его самому
04
Регулярные перезапуски без поиска причины — утечка памяти или ошибка конфигурации остаются и приводят к повторным авариям
05
Игнорирование зависших фоновых заданий после перезапуска — регламентные операции перестают выполняться незаметно для администратора

Автоматический перезапуск как альтернатива ручному

Если перезапуски нужны регулярно, настройте их в свойствах кластера: доступен перезапуск рабочих процессов по расписанию (например, ночью) и принудительное завершение процессов, превысивших заданный объём памяти. Это снижает риск аварийных ситуаций в рабочее время и избавляет администратора от рутинных операций.

Дополнительно настраивают отказоустойчивость кластера и распределение нагрузки между несколькими рабочими серверами: тогда отказ одного процесса или целого сервера переживается пользователями почти незаметно. Однако автоматика не отменяет диагностику — если процессы регулярно «раздуваются», нужен анализ технологического журнала и, возможно, доработка конфигурации или обновление платформы.

Итог

Что важно запомнить

Точечный перезапуск делается через консоль кластера, полный — через перезапуск службы агента сервера; новый процесс кластер создаёт сам. Перед завершением проверяйте сеансы, после — восстановление процессов и фоновых заданий. Регулярная потребность в перезапусках — повод искать первопричину, а не норма эксплуатации.

Частые вопросы

Что произойдёт с пользователями при завершении рабочего процесса?

Все сеансы, которые обслуживал завершённый процесс, будут разорваны. Клиентские приложения при следующем обращении к серверу автоматически подключатся к другому или новому рабочему процессу, но несохранённые данные в открытых формах будут потеряны. Незавершённые транзакции СУБД откатит, поэтому целостность базы не пострадает.

Нужно ли вручную запускать rphost после его завершения?

Нет. Кластер серверов отслеживает состояние рабочих процессов и автоматически создаёт новый взамен завершённого. Ручной запуск rphost.exe с командной строки не приведёт к регистрации процесса в кластере и не имеет смысла.

Как понять, какой именно процесс rphost проблемный?

В консоли кластера в ветке «Рабочие процессы» видны PID, объём занятой памяти и число сеансов каждого процесса. Сопоставьте эти данные с диспетчером задач: процесс с аномальным потреблением памяти или 100% загрузкой процессора без активности сеансов — основной кандидат на перезапуск.

Можно ли перезапустить процессы только одной информационной базы?

Напрямую — нет, рабочие процессы обслуживают все базы кластера. Если нужна изоляция, настройте требования назначения функциональности так, чтобы конкретная база обслуживалась выделенным рабочим сервером или процессом, либо вынесите её в отдельный кластер.

Как часто допустимо перезапускать рабочие процессы?

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

Что делать, если после перезапуска процесс снова быстро разрастается по памяти?

Включите технологический журнал и проанализируйте, какие вызовы и операции предшествуют росту памяти. Типичные причины — утечки в коде конфигурации, обработка очень больших объёмов данных в одном сеансе, ошибки конкретной версии платформы. Временно снизить риск помогает настройка автоматического перезапуска по порогу памяти и уменьшение числа соединений на процесс.