Рост оперативной памяти, занимаемой рабочим процессом rphost.exe на сервере 1С:Предприятие, — одна из самых частых проблем при эксплуатации платформы. Неконтролируемый расход ОЗУ приводит к падению производительности всей системы, замедлению работы пользователей или к аварийному завершению работы кластера. Проанализируем основные причины этой проблемы и разберем по шагам алгоритм диагностики и решения.
Когда рабочему процессу rphost.exe не хватает памяти или он разрастается до критических размеров, первым делом необходимо выяснить, какой именно сеанс или пользователь инициировал тяжелое действие (неоптимизированный отчет, массивную выгрузку или неоптимизированный код запроса).
Рассмотрим пошаговый порядок действий для локализации проблемы в консоли администрирования кластера 1С:
rphost.exe с максимальным объемом занятой оперативной памяти и зафиксируем его идентификатор процесса (PID).rphost.exe существенно уменьшился или освободился, значит, причина кроется в тяжелом коде отчета или обработки, запущенной конкретным пользователем.Для предотвращения ситуации, когда один некорректный запрос приводит к падению всего сервера, настроим параметры кластера и рабочего сервера 1С.
Разберем основные параметры защиты от утечек и перерасхода памяти:
86400 секунд — 24 часа). Параметр позволяет периодически перезапускать рабочие процессы в плановом режиме.60 до 180 секунд. Это обеспечивает плавный перезапуск: создается новый рабочий процесс rphost.exe, а старый завершается только после переноса активных соединений пользователей, без разрыва рабочих сеансов.rphost.exe продолжается работать стабильно.Если проблему не удается решить перезапуском или удалением сеансов, необходимо проанализировать серверный код с помощью Технологического журнала (ТЖ) 1С.
Проанализируем следующие ключевые события Технологического журнала:
MEM и LEAKS — помогают зафиксировать динамику изменения объема памяти, занимаемой процессами rphost, rmngr и ragent, а также обнаружить утечки.CALL и SCALL — при анализе по свойствам Memory и MemoryPeak в сочетании с полем Context позволяют с точностью до строки кода и контекста модуля определить конкретный алгоритм, вызвавший пиковое потребление памяти.Систематический мониторинг серверных вызовов и своевременная настройка ограничений кластера позволяют сохранить высокую доступность системы и стабильность работы серверных процессов 1С.