Что делать, если процесс rphost на сервере 1С занимает слишком много оперативной памяти?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Рост оперативной памяти, занимаемой рабочим процессом rphost.exe на сервере 1С:Предприятие, — одна из самых частых проблем при эксплуатации платформы. Неконтролируемый расход ОЗУ приводит к падению производительности всей системы, замедлению работы пользователей или к аварийному завершению работы кластера. Проанализируем основные причины этой проблемы и разберем по шагам алгоритм диагностики и решения.

Выявление сеанса и пользователя, потребляющего память

Когда рабочему процессу rphost.exe не хватает памяти или он разрастается до критических размеров, первым делом необходимо выяснить, какой именно сеанс или пользователь инициировал тяжелое действие (неоптимизированный отчет, массивную выгрузку или неоптимизированный код запроса).

Рассмотрим пошаговый порядок действий для локализации проблемы в консоли администрирования кластера 1С:

  1. Запустим на сервере системный Диспетчер задач и утилиту «Администрирование серверов 1С Предприятия».
  2. В Диспетчере задач найдем процесс rphost.exe с максимальным объемом занятой оперативной памяти и зафиксируем его идентификатор процесса (PID).
  3. Откроем консоль администрирования кластера 1С, перейдем в раздел «Рабочие процессы» и найдем процесс с аналогичным PID.
  4. Перейдем в раздел «Сеансы» и отфильтруем список по данному рабочему процессу.
  5. Завершим тяжелые сеансы пользователей или фоновые задания, привязанные к этому процессу.
  6. Проверим состояние памяти в Диспетчере задач:
    1. Если после завершения сеансов объем памяти процесса rphost.exe существенно уменьшился или освободился, значит, причина кроется в тяжелом коде отчета или обработки, запущенной конкретным пользователем.
    2. Если память осталась удержанной и не высвобождается даже после завершения всех активных сеансов, мы имеем дело с логической утечкой памяти в платформе или внешних компонентах. В этом случае потребуется обновление релиза платформы 1С.

Настройка перезапуска и ограничений кластера серверов

Для предотвращения ситуации, когда один некорректный запрос приводит к падению всего сервера, настроим параметры кластера и рабочего сервера 1С.

Разберем основные параметры защиты от утечек и перерасхода памяти:

  1. Интервал перезапуска рабочих процессов: задается в секундах (например, 86400 секунд — 24 часа). Параметр позволяет периодически перезапускать рабочие процессы в плановом режиме.
  2. Выключенные процессы останавливать через: рекомендуем установить значение в диапазоне от 60 до 180 секунд. Это обеспечивает плавный перезапуск: создается новый рабочий процесс rphost.exe, а старый завершается только после переноса активных соединений пользователей, без разрыва рабочих сеансов.
  3. Безопасный расход памяти за один вызов: ограничение объема оперативной памяти, которое может запросить один серверный вызов. Если лимит превышен, вызов прерывается с ошибкой, а сам процесс rphost.exe продолжается работать стабильно.
  4. Максимальный объем памяти рабочих процессов: задает предел памяти для процессов кластера, при достижении которого система блокирует выполнение новых ресурсоемких операций или перезапускает процесс.

Использование Технологического журнала для глубокого анализа

Если проблему не удается решить перезапуском или удалением сеансов, необходимо проанализировать серверный код с помощью Технологического журнала (ТЖ) 1С.

Проанализируем следующие ключевые события Технологического журнала:

  1. События MEM и LEAKS — помогают зафиксировать динамику изменения объема памяти, занимаемой процессами rphost, rmngr и ragent, а также обнаружить утечки.
  2. События CALL и SCALL — при анализе по свойствам Memory и MemoryPeak в сочетании с полем Context позволяют с точностью до строки кода и контекста модуля определить конкретный алгоритм, вызвавший пиковое потребление памяти.

Систематический мониторинг серверных вызовов и своевременная настройка ограничений кластера позволяют сохранить высокую доступность системы и стабильность работы серверных процессов 1С.

← На главную