ragent, rmngr, rphost и radmin.dll: из чего состоит сервер 1С и как им управлять
Содержание
Службу сервера 1С запускает файл ragent.exe: это агент сервера, он лежит в папке bin нужной версии платформы, например C:\Program Files\1cv8\8.3.24.1691\bin\ragent.exe. Агент сам поднимает менеджер кластера rmngr.exe и рабочие процессы rphost.exe. Консоль администрирования к службе отношения не имеет: это оснастка MMC, которая работает через библиотеку radmin.dll.
Частое заблуждение — искать «главный процесс» среди rphost. Их может быть несколько, они перезапускаются и меняют PID. Остановить или перезапустить сервер
правильно только через службу, то есть через ragent. Убьёте rphost вручную — кластер поднимет новый, а пользователи этого процесса потеряют несохранённую работу.
Какие процессы работают в сервере 1С 8.3
Откройте диспетчер задач на сервере, вкладку «Подробности». У работающего сервера 1С вы увидите как минимум три вида процессов.
| Файл | Роль | Сколько экземпляров | Порт по умолчанию |
|---|---|---|---|
ragent.exe | Агент сервера. Его запускает служба. Принимает первое подключение клиента и консоли | Один на службу | 1540 |
rmngr.exe | Менеджер кластера. Хранит реестр кластера, распределяет сеансы | Один или несколько (по сервисам) | 1541 |
rphost.exe | Рабочий процесс. Выполняет серверный код конфигурации, запросы к СУБД | Один и больше | из диапазона 1560–1591 |
ras.exe | Сервер администрирования для rac | Запускается отдельно | 1545 |
🔹 Клиент сначала стучится к агенту на 1540. Агент отдаёт адрес менеджера кластера (1541), а тот направляет соединение в конкретный рабочий процесс. Поэтому файрвол, открытый только на 1540, не даёт рабочего подключения.
🔹 rphost — главный потребитель памяти и процессора. Когда пользователи жалуются на тормоза, смотрят именно его.
🔹 Если rmngr.exe нет в списке, а ragent.exe есть — кластер не поднялся. Причину ищите в журнале событий Windows и в каталоге кластера (см. раздел о логах).
На одном сервере могут стоять несколько версий платформы. Каждая служба запускает ragent из своей папки bin. Чтобы понять, какая версия работает, смотрите путь к файлу в свойствах службы, а не ярлыки на рабочем столе.
Как служба запускает ragent: строка запуска
Откройте services.msc и найдите службу «Агент сервера 1С:Предприятия 8.3» (в английской версии имя содержит 1C:Enterprise 8.3 Server Agent). На вкладке «Общие» в поле «Исполняемый файл» видна полная строка. Типичный вид:
"C:\Program Files\1cv8\8.3.24.1691\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
Что означает каждый параметр:
-srvc— агент работает как служба Windows.-agent— режим агента сервера.-port 1540— порт агента.-regport 1541— порт менеджера кластера; от него зависит имя папкиreg_1541.-range 1560:1591— диапазон портов для процессов кластера.-d— каталог служебных файлов кластера (srvinfo).-debug— разрешает отладку на сервере. В рабочей среде ключ лучше убрать: он открывает возможность подключения отладчика.
Если вы хотите запустить второй кластер на той же машине (например, для тестовой версии платформы), меняют порты и каталог: -port 2540 -regport 2541 -range 2560:2591 и отдельный -d.
Регистрация службы вручную
Служба создаётся установщиком. Если её удалили или нужно перенести на другую версию, зарегистрируйте её из командной строки администратора:
cd "C:\Program Files\1cv8\8.3.24.1691\bin"
ragent.exe -instsrvc -usr ".\USR1CV8" -pwd "Пароль" -port 1540 -regport 1541 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
ragent.exe -start
Удаление службы — ragent.exe -rmsrvc (перед этим ragent.exe -stop).
Остановка службы обрывает сеансы всех пользователей на этом сервере. Несохранённые документы пропадут, фоновые задания прервутся. Делайте это в нерабочее время и предупредите людей заранее.
Как это выглядит в Linux
В Linux исполняемые файлы те же, но без расширения: ragent, rmngr, rphost в каталоге /opt/1cv8/x86_64/<версия>/. В современных версиях платформы сервер управляется юнитом systemd, имя которого начинается с srv1cv8. Найти его можно так:
systemctl list-units --all | grep srv1cv8
ps -ef | grep -E 'ragent|rmngr|rphost'
Вторая команда покажет и строку запуска ragent с теми же ключами -port, -regport, -range, -d.
Консоль администрирования кластера: какой файл её открывает
Ярлык «Администрирование серверов 1С Предприятия» запускает файл 1CV8 Servers.msc. Это обычная оснастка MMC. Сама логика оснастки живёт в radmin.dll из папки bin той же версии платформы.
Отсюда главный приём практика. Если консоль открывается с ошибкой, пустая или не видит сервер, почти всегда проблема в регистрации radmin.dll:
- Закройте все окна MMC.
- Запустите командную строку от имени администратора.
- Зарегистрируйте библиотеку нужной версии:
regsvr32 "C:\Program Files\1cv8\8.3.24.1691\bin\radmin.dll"
- Откройте консоль заново.
Два нюанса, на которых теряют время:
- 🧩 Версия. Консоль должна быть той же версии, что и сервер. Консоль 8.3.22 к серверу 8.3.24 подключится с ошибкой несовпадения версий. После обновления платформы на сервере перерегистрируйте
radmin.dllиз новой папки. - 🧩 Разрядность. 64-битную
radmin.dllвидит 64-битныйmmc.exe, 32-битную — 32-битный. Если стоит только 64-битная платформа, а консоль запускается как 32-битная, оснастки не будет.
Что делать в самой консоли
После запуска добавьте центральный сервер: правой кнопкой по корневому узлу центральных серверов → «Создать» → «Центральный сервер 1С:Предприятия 8.3». Укажите имя компьютера и порт агента (1540).
Дальше дерево раскрывается так: сервер → «Кластеры» → кластер → «Информационные базы», «Рабочие процессы», «Рабочие серверы», «Администраторы». Из этого дерева чаще всего:
- смотрят список сеансов и соединений базы;
- добавляют новую информационную базу;
- ставят блокировку начала сеансов перед обновлением;
- смотрят, сколько памяти занимает каждый
rphost.
Управление кластером из командной строки через rac
Консоль MMC есть только в Windows и требует прямого доступа к агенту. Для скриптов, Linux и удалённого администрирования используют пару ras + rac.
Шаг 1. Запустите сервер администрирования ras. Для разового запуска:
"C:\Program Files\1cv8\8.3.24.1691\bin\ras.exe" cluster --port=1545 localhost:1540
Чтобы ras работал постоянно, его регистрируют отдельной службой:
sc create "1C:Enterprise 8.3 Remote Server" binPath= "\"C:\Program Files\1cv8\8.3.24.1691\bin\ras.exe\" cluster --service --port=1545 localhost:1540" start= auto DisplayName= "1C:Enterprise 8.3 Remote Server"
Пробелы после binPath=, start= и DisplayName= обязательны — так устроен синтаксис sc.
Шаг 2. Получите идентификатор кластера:
rac localhost:1545 cluster list
В выводе нужна строка cluster : <UUID>.
Шаг 3. Работайте с объектами кластера, подставляя UUID:
rac localhost:1545 infobase summary list --cluster=<UUID>
rac localhost:1545 session list --cluster=<UUID>
rac localhost:1545 session list --cluster=<UUID> --licenses
rac localhost:1545 process list --cluster=<UUID>
rac localhost:1545 server list --cluster=<UUID>
Если в кластере заведены администраторы, добавляйте --cluster-user=<имя> --cluster-pwd=<пароль>. Для остальных команд и параметров смотрите встроенную справку: rac help, rac session help.
Команда rac session terminate и завершение рабочего процесса обрывают работу пользователя без сохранения. Перед этим посмотрите session list, чтобы не выкинуть бухгалтера посреди закрытия месяца.
Лимиты рабочих процессов и параметры запуска
Агент стартует с параметрами из строки службы, а поведение рабочих процессов задаётся уже в консоли. Настройки разнесены по двум окнам.
Свойства кластера (правой кнопкой по кластеру → «Свойства»):
| Параметр | Что делает | Ориентир |
|---|---|---|
| Интервал перезапуска | Плановый перезапуск rphost раз в N секунд | 0 — выключено; 86400 — раз в сутки |
| Допустимый объём памяти | Порог памяти процесса, после которого его начинают выводить из работы | По объёму ОЗУ и числу процессов |
| Интервал превышения допустимого объёма памяти | Сколько секунд процесс может держаться выше порога | 30–300 с |
Свойства рабочего сервера («Рабочие серверы» → сервер → «Свойства»):
- 📦 диапазон IP-портов рабочих процессов;
- 📦 максимальный объём памяти всех рабочих процессов;
- 📦 безопасный расход памяти за один вызов;
- 📦 количество информационных баз и соединений на один процесс.
Пример расчёта. На сервере 32 ГБ ОЗУ, СУБД на другой машине, под систему оставляем 4 ГБ. Максимальный объём памяти рабочих процессов — около 28 ГБ. Если работают 4 процесса, порог одного — примерно 7 ГБ.
«Безопасный расход памяти за один вызов» спасает от одного тяжёлого отчёта, который съедает всю память. Вызов, превысивший порог, прерывается с ошибкой у этого пользователя, а остальные продолжают работать.
Логи сервера 1С и разбор сбоев
Сервер пишет информацию в несколько мест. Начинайте с простого.
1. Журнал событий Windows. Раздел «Приложение», источник с именем 1С. Сюда попадают падения агента, ошибки запуска службы, проблемы с лицензией.
2. Каталог кластера srvinfo. Внутри reg_1541 лежат:
1CV8Clst.lst— реестр кластера: базы, рабочие серверы, администраторы, настройки;- папки с GUID — по одной на информационную базу, там журнал регистрации
1Cv8Log; snccntx…— сеансовые данные, временный кэш сервера.
В корне srvinfo лежит 1cv8wsrv.lst — список кластеров и администраторов центрального сервера.
Скопируйте srvinfo целиком перед любыми изменениями в нём. Повреждённый 1CV8Clst.lst означает, что кластер «забудет» все базы. Удалять сеансовые данные можно только при остановленной службе, а значит, с отключением всех пользователей.
3. Технологический журнал. Самый подробный источник: запросы, исключения, блокировки, утечки памяти. Включается файлом logcfg.xml, который кладут в подкаталог conf каталога bin платформы. Минимальный пример — запись исключений и аварийных завершений процессов:
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="D:\1c_techlog" history="24">
<event>
<eq property="name" value="EXCP"/>
</event>
<event>
<eq property="name" value="PROC"/>
</event>
</log>
<dump create="true" location="D:\1c_dumps" type="3"/>
</config>
Параметр history — сколько часов хранить файлы. Журнал растёт быстро: держите его на отдельном диске и выключайте, когда разобрались.
Безопасность сервера и сетевые порты
Сервер 1С по умолчанию открыт всем, кто достучится до порта 1540. Закройте три дыры.
Учётная запись службы. Установщик предлагает создать пользователя
USR1CV8. Ему нужны право «Вход в качестве службы» и полный доступ к каталогу srvinfo. Права администратора Windows ему не нужны. Запуск службы от LocalSystem упрощает установку, но даёт процессам 1С лишние права на машине.
Администраторы кластера и центрального сервера. Пока список администраторов пуст, любой пользователь с консолью может удалить базу из кластера или завершить все сеансы . Заведите администратора кластера и администратора центрального сервера в консоли (узел «Администраторы»). Пароли храните в менеджере паролей.
Порты на файрволе. Открывайте только нужное и только для своих подсетей:
| Порт | Кто использует |
|---|---|
| 1540 | Агент сервера, консоль, клиенты |
| 1541 | Менеджер кластера |
| 1560–1591 | Рабочие процессы и сервисы кластера |
| 1545 | ras, только для машин администраторов |
Потеряли пароль администратора кластера? Не пересоздавайте кластер. Остановите службу в нерабочее время, восстановите 1CV8Clst.lst из резервной копии, сделанной до смены пароля, и запустите службу. Нет копии — обратитесь к администратору, который настраивал сервер.
Частые вопросы
Можно ли запустить сервер 1С без службы?
ragent.exe из командной строки без ключа -srvc, с параметрами -port, -regport, -range, -d. Сервер работает, пока открыто окно. Для постоянной работы это неудобно, но подходит для проверки.Почему в диспетчере задач несколько rphost.exe?
Нужна ли консоль на самом сервере?
Где после обновления платформы взять новую строку запуска службы?
ragent.exe -rmsrvc старой версии и зарегистрируйте заново из папки bin новой.Чем rac отличается от консоли MMC?
rac работает через ras и подходит для скриптов, планировщика и Linux. Консоль удобнее для разового просмотра сеансов и настроек.