Разберем ситуацию, с которой сталкиваются многие администраторы при работе с ранними версиями платформы 1С 8.2 на устаревших серверных ОС. Если вы наблюдаете «шторм» рабочих процессов rphost.exe, которые заполняют диспетчер задач, а процессор постоянно нагружен на 100%, важно понимать, что проблема кроется в нарушении баланса между настройками кластера и ресурсоемкостью самой конфигурации.
rphostРазмножение процессов до нескольких десятков (как в описанном случае до 29) — это защитная реакция сервера 1С на неправильную конфигурацию параметров кластера или наличие критических утечек памяти в коде. Рассмотрим основные факторы:
rphost при малейшем превышении порога памяти помечаются как «выключенные» и сервер пытается запустить новые процессы для обработки запросов пользователей.Для стабилизации работы сервера 1С выполним следующие действия по настройке и оптимизации инфраструктуры:
Проанализируем свойства кластера в консоли администрирования 1С. Рассмотрим логику параметра «Интервал перезапуска». Если вы ранее устанавливали этот параметр, попробуйте изменить логику работы:
Перейдите в свойства кластера и обратите внимание на параметры:
Интервал перезапуска: Установите оптимальное значение. Слишком низкие значения провоцируют постоянный цикл перезапуска.Объем памяти рабочих процессов до перезапуска: Убедитесь, что лимит установлен с запасом, иначе процессы будут убиваться операционной системой или самим менеджером rmngr слишком часто.Безопасный расход памяти: Рекомендуется настроить этот параметр исходя из общего объема доступной RAM, чтобы избежать ситуации, когда один «тяжелый» отчет кладет весь сервер.Так как вы используете SQL Server на той же машине, что и 1С, мы сталкиваемся с конкуренцией за ресурсы. Рассмотрим способы снижения этой нагрузки:
1Cv8.lgf при активной работе может разрастаться до огромных размеров. Регулярно очищайте журнал и переносите старые записи в архивы.Попытка...Исключение при работе с COM-объектами поможет избежать зависания процессов при обрыве связи.Не обязательно перезагружать весь сервер целиком, если 1С начала «тупить». Достаточно перезапустить только службу сервера 1С:Предприятие. Рассмотрим пример управления службой через командную строку Windows:
net stop "1C:Enterprise 8.2 Server Agent"
net start "1C:Enterprise 8.2 Server Agent"
Этот простой метод позволяет сбросить все накопленные в оперативной памяти «зависшие» рабочие процессы, не прерывая работу SQL-сервера или других сервисов Windows. В дальнейшем, если проблема повторяется регулярно, рассмотрите возможность переноса SQL-сервера на отдельный физический или виртуальный сервер, что исключит борьбу за процессорное время и оперативную память.
Рассмотренная ситуация показывает, что при работе с 8.2 на Windows Server 2003 критически важно не допускать «шторма» процессов. Если вы видите, что процессы плодятся без остановки, первым делом проверьте настройки Рабочие процессы в консоли, отключите ненужные фоновые задания и проведите аудит кода на наличие неуправляемых циклов. Помните, что сервер 1С — это сложная экосистема, которая требует планового обслуживания, а не только экстренной перезагрузки.