Перезапуск сервера 1С: служба, процессы rphost и кластер
Содержание
Перезапустить сервер
1С можно одной командой от администратора: net stop и net start для службы «Агент сервера 1С:Предприятия 8.3» (в Windows) или systemctl restart для службы srv1cv83 (в Linux). Но это блокирует работу всех пользователей, а часто хватает мягкого сброса — перезапуска только рабочих процессов rphost через консоль кластера. Выбор способа зависит от того, что именно сломалось.
Типичная ошибка — гасить службу в середине рабочего дня «на всякий случай». Пользователи теряют несохранённые документы, фоновые задания обрываются, а проблема нередко возвращается через час. Ниже — от безобидного способа к радикальному.
Что именно перезапускается: ragent, rmngr и rphost
Сервер 1С — это не один процесс, а цепочка. Знать её нужно, чтобы понимать, что ломается при перезапуске.
- ⚙️
ragent— агент сервера. Это и есть та самая служба Windows. Запускает остальное. - 🧭
rmngr— менеджер кластера. Хранит список сеансов, блокировок, назначает рабочие процессы. - 🏭
rphost— рабочий процесс. Именно он исполняет серверный код и держит память пользовательских сеансов. Их может быть несколько.
Если остановить службу, гаснут все три уровня. Если сбросить только rphost, агент и менеджер продолжают работать, а пользователей «отпускает» с коротким обрывом.
Порты по умолчанию: агент слушает 1540, менеджер кластера — 1541, рабочие процессы занимают диапазон 1560–1591. Эти числа пригодятся, когда после перезапуска клиенты не подключаются, а в брандмауэре что-то закрыто.
Когда перезапуск действительно нужен
- 🔄 Установили новую версию платформы или обновили файлы 1С на сервере.
- 🧠
rphostразросся по памяти, сеансы тормозят, а освободить её иначе не удаётся. - 🔒 Зависли сеансы, которые не завершаются из консоли.
- ⚙️ Изменили параметры службы или учётную запись, под которой она запускается.
- 🛠 После правки настроек кластера или лицензирования сервер их не подхватил.
Когда перезапускать не стоит
Если тормозит одна база, а остальные работают нормально, служба тут ни при чём. Сначала смотрите блокировки и долгие запросы. Если ошибка воспроизводится у одного пользователя, проверьте его клиентское место. Перезапуск сервера лечит накопленный мусор в памяти, а не кривой код и не нехватку индексов.
Подготовка перед остановкой службы
Три минуты подготовки спасают от потерянных данных.
- Предупредите пользователей и назначьте время. Лучше вечером или в обеденный перерыв.
- Откройте список сеансов в консоли кластера и посмотрите, нет ли активных фоновых заданий: длительных закрытий месяца, обмена, выгрузок.
- Запретите новые подключения к базе на время работ (галочка блокировки начала сеансов в свойствах базы в консоли).
- Убедитесь, что архив базы свежий. Сервер не удаляет данные при остановке, но аварийное завершение вместе с отказом диска — вполне возможное сочетание.
Не останавливайте службу, пока идёт проведение большого документа или закрытие месяца. Транзакцию откатит СУБД, но вы потеряете часы работы и можете получить частично выполненный обмен.
Перезапуск через оснастку «Службы» Windows
Это самый наглядный способ, подходит для разового действия.
- Нажмите
Win+R, введитеservices.msc, подтвердите. Нужны права администратора. - В списке найдите службу «Агент сервера 1С:Предприятия 8.3» (в названии бывает пометка
x86-64). Имя зависит от версии платформы и разрядности, а их на сервере может стоять несколько. - Щёлкните службу правой кнопкой и выберите «Перезапустить».
- Подождите полминуты и убедитесь, что статус снова «Выполняется».
Если кнопки «Перезапустить» нет или она неактивна, служба остановилась некорректно. Нажмите «Остановить», дождитесь статуса остановки, затем «Запустить».
В свойствах службы на вкладке «Восстановление» можно задать действие при сбое — например, «Перезапуск службы» через минуту. Это страховка на случай аварийного падения ragent, но не замена нормальной диагностики.
Если служба «зависла» при остановке
Статус «Остановка» держится минуты — значит, какой-то из процессов не отпускает файлы. Откройте диспетчер задач, найдите ragent.exe, rmngr.exe, rphost.exe, завершите их вручную и запустите службу заново. Делайте это, только если мягкая остановка не сработала. Принудительное завершение рвёт сеансы без предупреждения.
Командная строка и PowerShell: быстро и в скриптах
Запускайте консоль от имени администратора. Сначала нужно точное имя службы, потому что у разных версий оно разное.
Get-Service | Where-Object { $_.DisplayName -like "*1С*" -or $_.DisplayName -like "*1C*" }
Команда покажет и отображаемое имя, и внутреннее (колонка Name). Дальше работаем с внутренним именем.
Командная строка
net stop "Имя службы"
net start "Имя службы"
Имя с пробелами берут в кавычки. Альтернатива — sc stop и sc start, но sc не ждёт полной остановки, а net stop ждёт. В скрипте это важно: иначе start выполнится до окончания остановки и вернёт ошибку.
PowerShell
Restart-Service -Name "ИмяСлужбы" -Force
Get-Service -Name "ИмяСлужбы"
Ключ -Force нужен, если от службы зависят другие службы. Для сервера 1С это обычно не требуется.
Если нужно прибить зависшие процессы после неудачной остановки:
Get-Process rphost, rmngr, ragent -ErrorAction SilentlyContinue | Stop-Process -Force
Эта команда завершает все рабочие процессы на машине мгновенно и без предупреждения. Используйте её только как крайнюю меру, когда служба не отзывается.
Перезапуск сервера 1С в Linux
В Linux служба называется по номеру версии платформы. Типовое имя — srv1cv83, но у вас может быть другое: проверьте.
systemctl list-units --type=service | grep -i srv1c
sudo systemctl restart srv1cv83
systemctl status srv1cv83
Логи запуска смотрите так:
journalctl -u srv1cv83 -n 100 --no-pager
Мягкий вариант: сбросить рабочий процесс в консоли кластера
Когда нужно только освободить память или снять зависший сеанс , служба не нужна. Консоль называется «Администрирование серверов 1С:Предприятия». Она ставится вместе с платформой или отдельным компонентом.
Завершить сеансы
- Подключитесь к центральному серверу (имя сервера и порт
1540). - Раскройте кластер, откройте «Сеансы» (список можно отфильтровать по информационной базе).
- Выделите нужные строки и нажмите «Удалить». Если сеанс не завершается — значит, его держит рабочий процесс, и это следующий шаг.
Остановить рабочий процесс
- В дереве кластера найдите «Рабочие серверы», затем «Рабочие процессы».
- Посмотрите колонки с потреблением памяти и количеством соединений.
- Удалите процесс, который распух или завис. Менеджер кластера сам поднимет новый
rphost.
Пользователи, подключённые к этому процессу, получат разрыв и должны будут зайти заново. Остальные не заметят ничего.
Настроить автоматический перезапуск рабочих процессов
В свойствах кластера (правая кнопка по кластеру, «Свойства») есть параметры, которые заставляют rphost обновляться самостоятельно:
| Параметр | Что делает | Когда нужен |
|---|---|---|
| Интервал перезапуска, сек. | Через заданное время процесс завершается и поднимается заново | Профилактика утечек памяти, часто выбирают сутки (86400 секунд) |
| Допустимый объём памяти, байт | Порог, по достижении которого процесс считается «переросшим» | Когда память растёт в течение дня |
| Допустимое отклонение, % | Допуск, после которого процесс перезапускается | Сглаживает перезапуск, чтобы не уронить всех сразу |
| Выключенные процессы остановлены через, сек. | Время жизни процесса после того, как его отключили от нагрузки | Даёт пользователям закончить работу |
Точные названия полей слегка различаются между версиями платформы и консоли. Если не нашли строку, ищите по словам «перезапуск» и «память» на вкладке свойств кластера.
Не ставьте слишком короткий интервал. Если рабочие процессы перезапускаются каждые несколько минут, пользователи получают постоянные разрывы, а сервер тратит ресурсы на старт.
Автоматизация: перезапуск по расписанию и очистка
Профилактический перезапуск раз в неделю или раз в сутки ночью — обычная практика. Проще всего сделать это через планировщик заданий Windows.
- Откройте «Планировщик заданий», создайте задачу, запуск от имени учётной записи с правами администратора.
- Триггер: ежедневно или раз в неделю, например в 03:30, когда сервер свободен.
- Действие: запуск
powershell.exeс аргументами-NoProfile -Command "Restart-Service -Name 'ИмяСлужбы' -Force". - Включите выполнение, даже если пользователь не вошёл в систему.
Перед остановкой службы в скрипте разумно сначала завершить сеансы командой консоли rac (утилита управления кластером) — чтобы пользователи не остались «висеть». Синтаксис rac зависит от версии, поэтому проверьте его справкой самой утилиты (rac help) и не копируйте чужие примеры вслепую.
Что чистить вместе с перезапуском
На сервере копятся каталоги сеансовых данных. Хранилище служебных файлов кластера (по умолчанию каталог srvinfo) содержит данные о сеансах и самом кластере. Его нельзя чистить вручную при работающей службе и тем более удалять целиком: вместе с ним теряется конфигурация кластера.
Безопасно чистятся временные файлы и устаревшие журналы технологического журнала, если вы его включали. Он умеет быстро разрастаться: проверьте размер каталога журналов и ограничьте срок хранения в настройках.
Мини-кейс: сервер «съел» память
Типичная картина: к обеду rphost занимает 12 ГБ из 16, пользователи жалуются на тормоза, а в диспетчере задач виден один раздувшийся процесс. Служба тут не нужна. Откройте консоль кластера, отметьте процесс с наибольшим объёмом памяти и дождитесь, пока в нём останется мало сеансов. Затем удалите процесс. Менеджер кластера создаст новый, и память вернётся к норме за минуту.
Если ситуация повторяется каждый день, поставьте автоматический перезапуск из таблицы выше. Если память растёт за несколько часов до предела, ищите причину в коде: неосвобождаемые большие таблицы в серверных модулях, бесконечные циклы, отчёты, которые читают всё подряд.
Диагностика после перезапуска
Служба показывает «Выполняется» — это ещё не значит, что всё работает. Проверьте по порядку.
- Процессы на месте:
Get-Process ragent, rmngr(Windows) илиps aux | grep ragent(Linux). - Порты слушаются:
netstat -ano | findstr 1540иfindstr 1541. - Консоль кластера подключается к серверу и видит кластер.
- Информационные базы в списке, а новые сеансы создаются.
- Лицензии: сервер видит ключ защиты или программную лицензию.
srvinfo, сменили пароль пользователя, под которым работает служба.1540, 1541 и диапазон 1560–1591. Ещё одна причина — после перезапуска сменился адрес сервера или имя в DNS.rphost вручную: он поднимается сам. Проверьте, не включена ли блокировка начала сеансов в свойствах базы. Её могли поставить на время работ и забыть снять.srvinfo. Верните прежнюю учётную запись и каталог в параметрах запуска.Частые вопросы
Потеряются ли данные при перезапуске службы?
Нужно ли перезапускать сервер, если обновили конфигурацию?
Чем отличается перезапуск службы от перезапуска всего сервера?
Можно ли перезапустить службу дистанционно?
Restart-Service -ComputerName в старых версиях PowerShell, Invoke-Command или sc \\сервер stop. Нужны права администратора на удалённой машине и открытый доступ к управлению.Что делать, если консоль кластера не подключается к серверу?
1540 открыт и в консоли указан верный адрес сервера. Если служба работает, но порт не слушается, смотрите журнал событий.