Пользователи запускают 1С и видят: «Свободный рабочий процесс не найден». База не открывается, работа стоит. Ошибка возникает в клиент-серверном режиме 1С:Предприятие, когда менеджер кластера (rmngr) не может назначить свободный рабочий процесс (rphost) для обслуживания сеанса.
Причин пять: от перегрузки рабочих процессов до нехватки ресурсов сервера. Ниже — диагностика и конкретные команды по каждой.
Причина 1 — все рабочие процессы заняты
Самая частая причина. По умолчанию кластер 1С запускает один рабочий процесс (rphost). Каждый rphost обслуживает ограниченное число сеансов. Когда все rphost загружены на 100% — новые подключения получают ошибку.
Диагностика
Откройте консоль администрирования серверов 1С (mmc-оснастку). Перейдите в Кластеры → Рабочие процессы. Посмотрите столбцы «Доступность» и «Использование». Если все процессы показывают «Использование: 100%» — это подтверждение проблемы.
Альтернативный способ — утилита командной строки rac:
rac process --cluster=<cluster-uuid> list
rac process --cluster=<cluster-uuid> info --process=<process-uuid>
Обратите внимание на поля available-perfomance и capacity. Если available-perfomance равен 0 у всех процессов — свободных нет.
Решение
Увеличьте количество рабочих процессов. В консоли администрирования: правый клик по кластеру → Свойства → «Рабочие серверы». Откройте свойства рабочего сервера. Измените «Количество ИБ на процесс» и «Количество соединений на процесс».
Рекомендации по количеству рабочих процессов:
| Пользователей | Рабочих процессов | Примечание |
|---|---|---|
| до 10 | 1 | Достаточно стандартных настроек |
| 10-30 | 2 | Второй rphost подхватывает при пике нагрузки |
| 30-50 | 3-4 | Распределение нагрузки между процессами |
| 50+ | 4-8 | Зависит от ресурсов сервера, требования к серверу |
Через утилиту rac количество процессов задают параметрами рабочего сервера:
rac server --cluster=<cluster-uuid> update --server=<server-uuid> --infobases-limit=8 --connections-limit=128
Причина 2 — рабочий процесс завершился аварийно
rphost может аварийно завершиться из-за утечки памяти, необработанного исключения или повреждённых данных кеша. Менеджер кластера пытается перезапустить процесс, но если перезапуск не происходит — свободных процессов не остаётся.
Диагностика
Проверьте журнал регистрации 1С: откройте базу данных в режиме «Конфигуратор» → Администрирование → Журнал регистрации. Отфильтруйте по событию «Ошибка» и ищите записи с текстом «рабочий процесс».
Логи платформы находятся:
- Windows:
C:\Program Files\1cv8\srvinfo\reg_1541\*.log - Linux:
/home/usr1cv8/.1cv8/1C/1cv8/reg_1541/*.log
В логах ищите строки Process terminated unexpectedly или Critical error. Метка времени покажет, когда именно произошёл крах.
Дополнительно проверьте журнал событий Windows: Просмотр событий → Журналы Windows → Приложение. Фильтруйте по источнику «1CV8» или «Application Error» с именем модуля rphost.exe.
Решение
Последовательность действий:
- Перезапустите агента сервера 1С. На Windows:
net stop "1C:Enterprise 8.3 Server Agent" && net start "1C:Enterprise 8.3 Server Agent". На Linux:systemctl restart srv1cv83. - Очистите кеш сервера. Остановите службу, удалите содержимое папки
reg_1541\snccntx*(сеансовые данные) и запустите службу заново. - Если аварии повторяются — настройте автоматический перезапуск rphost. В свойствах кластера задайте «Интервал перезапуска» = 86400 секунд (24 часа). «Допустимый объём памяти» — например, 4 000 000 КБ (4 ГБ).
Причина 3 — неверные настройки кластера
Ошибка в конфигурации кластера может блокировать создание новых рабочих процессов или ограничивать существующие. Типичные проблемы: лимит на количество информационных баз на процесс, неправильный интервал перезапуска, отключённое резервирование.
Диагностика
Проверьте свойства кластера через консоль администрирования или rac:
rac cluster list
rac cluster info --cluster=<cluster-uuid>
Обратите внимание на параметры:
- lifetime-limit — интервал перезапуска рабочих процессов (в секундах). Если 0 — процессы не перезапускаются автоматически, что может привести к утечке памяти
- expiration-timeout — таймаут завершения аварийных сеансов. Если слишком большой — «мёртвые» сеансы занимают слоты
- kill-problem-processes — принудительное завершение проблемных процессов. Если отключено (0) — зависшие rphost не будут завершены
Решение
Задайте оптимальные параметры кластера:
rac cluster update --cluster=<cluster-uuid> --lifetime-limit=86400 --expiration-timeout=600 --kill-problem-processes=1
Расшифровка: рабочие процессы перезапускаются каждые 24 часа (очистка утечек памяти), аварийные сеансы завершаются через 10 минут, проблемные процессы принудительно останавливаются.
Также проверьте свойства рабочего сервера. Если баз несколько, параметр «Количество ИБ на процесс» не должен быть равен 1. Иначе каждая база создаст отдельный rphost, и ресурсов может не хватить.
Причина 4 — нехватка ресурсов сервера
Если серверу не хватает оперативной памяти или процессорных мощностей — rphost не может обработать запросы вовремя. ОС начинает использовать файл подкачки, операции замедляются в десятки раз, менеджер кластера считает процесс недоступным.
Диагностика
Откройте Диспетчер задач или Монитор ресурсов (Windows) / htop (Linux). Проверьте:
- RAM: свободная память менее 10% — критично. Процессы rphost потребляют от 500 МБ до 4 ГБ каждый. Три rphost + SQL Server + ОС = минимум 16-24 ГБ
- CPU: загрузка процессора выше 90% — rphost не успевает обрабатывать запросы. 1С критична к однопоточной производительности — важна частота, а не количество ядер
- Диск: очередь дисковых операций (Disk Queue Length) более 2 — СУБД ждёт диск, rphost ждёт СУБД
Решение
Если 16 ГБ RAM и 50+ пользователей — однозначно мало. Наши тесты показывают: 128 ГБ ECC — проверенный стандарт для 30-50 пользователей. Подробности — в требованиях к серверу для 1С.
По процессору: для 20+ пользователей нужна частота от 3 ГГц. Процессоры с тактовой частотой 2.0-2.5 ГГц (Silver 4214, E5-2680v4) набирают 36-40 баллов Гилёва — уровень «хорошо», но на нижней границе. Высокочастотные модели (Gold 6244 — 3.6 ГГц, Platinum 8252C — 3.8 ГГц) набирают 55-56 баллов — «замечательно». Подробное сравнение — в руководстве по выбору процессора.
Дисковая подсистема: SAS-диски в наших тестах набирают 13-19 баллов Гилёва (плохо/удовлетворительно), SSD и NVMe — 34-56 баллов. Замена SAS на SSD удваивает производительность. Сравнение дисков — в статье SAS vs SSD vs NVMe.
Причина 5 — проблемы сетевого взаимодействия
Кластер серверов 1С использует несколько компонентов, взаимодействующих по сети: ragent (агент сервера), rmngr (менеджер кластера) и rphost (рабочие процессы). Каждый слушает свой порт. Если порт заблокирован файрволом или занят другим приложением — связь между компонентами разрывается.
Порты кластера 1С
| Компонент | Порт | Назначение |
|---|---|---|
| ragent | 1540 | Управление агентом сервера |
| rmngr | 1541 | Управление кластером |
| rphost | 1560-1591 | Рабочие процессы (по одному порту на rphost) |
Диагностика
Проверьте доступность портов с клиентской машины:
:: Windows — проверка порта ragent
Test-NetConnection -ComputerName <server-ip> -Port 1540
:: Проверка диапазона портов rphost
for /L %i in (1560,1,1591) do @echo %i & Test-NetConnection -ComputerName <server-ip> -Port %i -InformationLevel Quiet
На сервере проверьте, что порты слушаются:
:: Windows
netstat -an | findstr "1540 1541 1560"
# Linux
ss -tlnp | grep -E "1540|1541|156[0-9]"
Решение
Откройте порты в файрволе. На Windows Server:
netsh advfirewall firewall add rule name="1C Server ragent" dir=in action=allow protocol=TCP localport=1540
netsh advfirewall firewall add rule name="1C Server rmngr" dir=in action=allow protocol=TCP localport=1541
netsh advfirewall firewall add rule name="1C Server rphost" dir=in action=allow protocol=TCP localport=1560-1591
На Linux (firewalld):
firewall-cmd --permanent --add-port=1540/tcp
firewall-cmd --permanent --add-port=1541/tcp
firewall-cmd --permanent --add-port=1560-1591/tcp
firewall-cmd --reload
Если сервер за NAT или VPN — убедитесь, что диапазон 1560-1591 проброшен полностью. Частичный проброс приведёт к ситуации, когда часть rphost доступна, а часть — нет.
Если ничего не помогло
Вы проверили все пять причин, но ошибка повторяется? Возможно, проблема в специфике вашей конфигурации 1С, особенностях сетевой инфраструктуры или нестандартных настройках кластера. Оставьте заявку — разберёмся в вашей ситуации.
Как предотвратить ошибку «Свободный рабочий процесс не найден»
Профилактика дешевле аварийного ремонта. Три направления: мониторинг, настройки кластера, ресурсы сервера.
Мониторинг
- Счётчики производительности Windows: отслеживайте «Available MBytes» (свободная RAM), «% Processor Time» (загрузка CPU), «Current Disk Queue Length» (очередь диска). Настройте оповещения при достижении пороговых значений
- Журнал регистрации 1С: регулярно проверяйте ошибки. Настройте выгрузку журнала в текстовый файл для анализа
- Технологический журнал 1С: включите для детальной диагностики работы кластера. Фиксирует все обращения между ragent, rmngr и rphost
Настройки кластера
- Интервал перезапуска: 86400 секунд (24 часа) — rphost перезапускаются ежесуточно в период минимальной нагрузки, утечки памяти сбрасываются
- Допустимый объём памяти: 4 000 000 КБ (4 ГБ) на rphost — при превышении процесс перезапускается принудительно
- Принудительное завершение проблемных процессов: включить — зависшие rphost не будут занимать ресурсы бесконечно
- Количество рабочих процессов: минимум 2 для продуктивных серверов с 10+ пользователями — при аварии одного rphost второй продолжит работу
Ресурсы сервера
Закладывайте запас. Если сегодня 30 пользователей — планируйте ресурсы на 50. Наши рекомендации по конфигурациям для разного числа пользователей — в статье о подборе сервера по числу пользователей. Пошаговая методика подбора — в руководстве по подбору сервера.
Вопросы и ответы
Что означает ошибка «Свободный рабочий процесс не найден» в 1С?
Ошибка означает, что менеджер кластера (rmngr) не может найти свободный рабочий процесс (rphost) для обслуживания вашего сеанса. Все rphost либо заняты, либо завершились аварийно, либо недоступны. Ошибка возникает только в клиент-серверном режиме 1С:Предприятие — в файловом режиме её не бывает.
Как увеличить количество рабочих процессов 1С?
Откройте консоль администрирования серверов 1С. Перейдите в свойства рабочего сервера в кластере. Увеличьте параметры «Количество ИБ на процесс» и «Количество соединений на процесс». Для 20+ пользователей рекомендуем минимум 2 рабочих процесса, для 50+ — 4 и более. Также можно настроить через утилиту rac.
Какие порты должны быть открыты для сервера 1С?
Минимальный набор: 1540 (ragent — агент сервера), 1541 (rmngr — менеджер кластера), 1560-1591 (rphost — рабочие процессы, по одному порту на каждый rphost). Если используете нестандартные порты — проверьте настройки кластера. Все порты должны быть открыты как на сервере, так и на промежуточных файрволах/маршрутизаторах.
Как часто нужно перезапускать рабочие процессы 1С?
Рекомендуем настроить автоматический перезапуск каждые 24 часа (параметр «Интервал перезапуска» = 86400 секунд в свойствах кластера). Также задайте «Допустимый объём памяти» — например, 4 ГБ на процесс. При превышении лимита rphost перезапустится автоматически, предотвращая утечку памяти.
Сколько RAM нужно серверу 1С, чтобы избежать ошибки с рабочими процессами?
Каждый rphost потребляет от 500 МБ до 4 ГБ RAM в зависимости от нагрузки. Плюс SQL Server, ОС и RDP-сессии. Для 30-50 пользователей проверенный стандарт — 128 ГБ ECC RAM. При 16 ГБ и 50+ пользователях нехватки памяти не избежать. Подробные требования к серверу — на странице требования к серверу для 1С.