Значительное потребление памяти процессами кластера на сервере приложений
По счетчику Performance Monitor \Memory\Available Mbytes видим, что объем доступной памяти близок к нулю.
Что делать?
Что требуется сделать
- Подключиться к указанному серверу
- Запустить RamMap
- Найти процесс, который использовал всю доступную оперативную память. Стоит также смотреть на закладку File Summary.
- Найти причину
- Если это процесс rphost, то открываем консоль администрирования серверов 1С
- Переходим на страницу «Сеансы»
- Находим колонку Память (текущая)
- Упорядочиваем по колонке
- Записываем номера сеансов, которые использовали больше всего памяти
- Завершаем сеансы
- Проверяем, успело ли сработать условие перезапуска процессов кластера серверов
- Если есть сеансы, которые находятся в длительном клиент-серверном вызове, то записываем номера сеансов
- Завершаем сеансы, убеждаемся, что процессы успешно перезапустились.
- Убеждаемся, что памяти достаточно
- Если процесс rmngr и виновник не понятен, то снимаем дамп с помощью утилиты ProcDump
- Полученные дампы и технологические журналы (если собирались) отправляем в 1С с подробным описанием проблемы и симптомов
- Следует учитывать, что нет смысла отправлять дампы в 1С, если на сервере действительно очень мало доступной оперативной памяти, а rmngr при нормальной работе занимает ровно тот же самый объем
- Ищем в журнале регистрации полученные номера сеансов с целью выяснить сценарий, который выполнялся в момент воспроизведения проблемы. Анализируем.
- Проверяем, настроен ли перезапуск процессов кластера.
У кластера серверов 1С Предприятия есть несколько настроек перезапуска процессов по превышению порога памяти. Их можно найти в параметрах кластера в консоли администрирования(рис. 1).

Рис. 1. Параметры кластера.
Подробная информация по настройкам указана на странице ITS.
Рекомендуется всегда настраивать параметры
- Допустимый объем памяти
- Интервал превышения допустимого объема памяти
- Выключенные процессы останавливать через
«Допустимый объем памяти» стоит устанавливать из расчета, того, что в случае срабатывания условия превышения показателя будет запущен ещё один процесс rphost того же объема, как при нормальной работе кластера серверов в этой информационной системе.
Например, на рабочем сервере имеем 12 Гб ОЗУ. Допустим для конкретной информационной системы характерен размер rphost около 3 Гб. В этом случае порог превышения памяти следует рассчитывать следующим образом:
«Допустимый объем памяти» = 12 ГБ — 2 Гб (объем, занимаемый процессами системы) — 3 Гб * 1 rphost (объем всех процессов rphost) = 7 Гб. Т.е. процесс rphost в худшем сценарии может вырасти до 7 Гб.
Для случая, когда у нас при штатной работе используются два процесса rphost.
«Допустимый объем памяти» = 12 ГБ — 2 Гб (объем, занимаемый процессами системы) — 3 Гб * 2 rphost (объем всех процессов rphost) = 4 Гб. Т.е. процесс rphost в худшем сценарии может вырасти до 4 Гб.
Такая рекомендация исходит из особенностей поведения в момент перезапуска процессов кластера. Как это происходит:
- процесс rphost превышает «Допустимый объем памяти» в течение «Интервал превышения допустимого объема памяти» секунд, срабатывает условие перезапуска процессов кластера.
- запускается «новый» процесс rphost
- «старый» процесс rphost выключается, но не завершается
- соединения назначаются на «новый» процесс rphost, который сразу полноценно включается в работу
- «старый» процесс будет исполнять вызовы (которые ещё существуют) максимум в течение ещё «Выключенные процессы останавливать через» секунд, но не более того.
- через время «Выключенные процессы останавливать через» «старый» процесс rphost завершается.
- новый процесс полноценно работает
Т.е. в течение периода, указанного в «Выключенные процессы останавливать через» будет одновременно работать как минимум два процесса rphost: «старый» и «новый».
Не следует указывать «Допустимый объем памяти» меньше нормального рабочего объема памяти процесса rphost для вашей системы, т.к. противном случае у вас постоянно будут перезапускаться процессы кластера серверов.
- Интервал превышения допустимого объема памяти
- Выключенные процессы останавливать через
следует стараться указывать как можно меньше исходя из характера нагрузки на информационную систему, например, по 60 секунд, если мы рассчитываем, что все операции (или большая их часть) должны выполниться быстрее 60 секунд.
Чем больше значения указанных параметров, тем менее эффективен может оказаться механизм перезапуска процессов, но зато позволит «успешно выполнить» большее число вызовов.
Rphost что за процесс

Процесс rphost грузит процессор и память. 1С 8.3, решения для системных процессов. Архитектура кластера серверов 1С. Полнотекстовый поиск. Консоль управления кластером серверов 1С.
Прежде всего следует, хотя бы поверхностно, разобраться с тем, что из себя представляет процесс rphost и местом, которым ему отводит система 1С. Проанализируем документацию разработчика в части прояснения роли процесса rphost.
Архитектура кластера серверов 1С.
Основные возможности кластера серверов
- может функционировать на одном или нескольких компьютерах (рабочих серверах);
- на каждом рабочем сервере может функционировать один или несколько рабочих процессов, обслуживающих клиентские соединения в рамках данного кластера;
- подключение новых клиентов к рабочим процессам кластера выполняется на основе анализа долгосрочной статистики загруженности рабочих процессов;
- взаимодействие процессов кластера с клиентскими приложениями, между собой и с сервером баз данных осуществляется по протоколу TCP/IP;
- процессы кластера сервера могут быть запущены как приложение, или как сервис.
Состав простейшего кластера серверов
В самом простом исполнении кластер серверов может быть расположен на одном компьютере. Также простейший кластер может состоять из одного рабочего процесса:

На приведенной схеме представлены все элементы, которые задействованы у активного кластера серверов:
- процессы кластера серверов:
- ragent.exe;
- rmngr.exe;
- rphost.exe;
- список кластеров;
- реестр кластера.
Агент сервера ragent.exe
Ragent.exe, собственно, обеспечивает функционирование компьютера в составе кластера. В таком случае, компьютер, имеющий запущенный процесс агента сервера, именуется рабочим сервером. Одна из функций агента сервера -ведение списка кластеров, расположенных на данном рабочем сервере.
Агент сервера и список кластеров обеспечивают работу сервера и кластеров, которые расположены на нем. Эти компоненты не входят в состав кластера серверов.
Кластер серверов включает в себя следующие компоненты:
- rmngr.exe (может быть один или несколько процессов);
- реестр кластера;
- rphost.exe (может быть один или несколько процессов).
Менеджер кластера rmngr.exe
Rmngr.exe управляет функционированием кластера . М о жет существовать несколько таких менеджеров в составе кластера. В любом случае один из этих процессов всегда будет являться главным менеджером кластера. Другие — дополнительными менеджерами. Сервер, на котором запущен главный менеджер кластера и находится реестр кластера, будет именоваться центральным сервером кластера . Менеджер кластера, в том числе, обеспечивает ведение реестра кластера.
Рабочий процесс rphost.exe.
Rphost.exe занимается обслуживанием непосредственно клиентских приложений, он взаимодействует с сервером БД (баз данных), в нем исполняются процедуры серверных модулей конфигурации.
Итак, теперь нам стала ясна роль и место рабочего процесса rphost.exe в конфигурации кластера серверов 1С:Предприятие.
Проблемы с rphost.exe
Теперь приступим к исследованию возможных неудобств в работе rphost.exe и вариантам их устранения.
rphost.exe грузит память и занимает процессорное время

Как видно на картинке, отображающем диспетчер задач, процесс rphost.exe достаточно сильно загружает память сервера и его процессор. Причем 1С не работает ни в режиме приложения, ни в режиме конфигурирования.
Для многих конфигураций серверов данная ситуация не является проблемной, они спокойно выдерживают подобные нагрузки не снижая производительности.
Но, если ресурсы компьютера оставляют желать лучшего и возможностей для их улучшения нет, то каждый мегабайт ОЗУ, необдуманно израсходованный, будет критичен.
Как можно снизить расход ресурсов процессом rphost.exe
Версия платформы. Прежде всего стоит проверить версию платформы 1С. И, если платформа не актуальна, то обновить ее. Лучше в любом случае поддерживать платформу в актуализированном состоянии.
Фоновые задачи. Далее стоит проверить на предмет необходимости все фоновые задачи используемой конфигурации или нескольких конфигураций. В случае присутствия ненужных — их отключить или удалить. Делать это нужно аккуратно, вначале выполнив резервное копирование ИБ. Как сделать выгрузку ИБ можно посмотреть в статье: Как обновить сервер 1С 8.3 и платформу 1С 8.3. Как блокировать пользователей 1С. Как сделать выгрузку базы данных 1С. 1С Предприятие клиент-сервер. Операционная система Windows Server 2012 R2
Если в фоновых регламентированных задачах, по Вашему мнению нет необходимости, то можно отключить выполнение фоновых заданий непосредственно из mmc-консоли управления кластером серверов 1С.
Для этого нужно открыть свойства базы, у которой будем выполнять отключение.

Далее нужно авторизоваться в информационной базе.

После авторизации установите галочку возле опции «Блокировка регламентных заданий включена»
Полнотекстовый поиск (отключение, включение).
Как вариант, для уменьшения активности rphost.exe, можно отключить полнотекстовый поиск. Для справки, полнотекстовый поиск использует регламентные задания, которые запускают фоновые процессы. В конфигураторе отключать регламентное задание без снятия конфигурации с поддержки проблематично. Поэтому лучше отключить полнотекстовый поиск в режиме приложения.
Заходим в главном меню, пункт «Все функции»

Далее находим «Управление полнотекстовым поиском».

Отключаем полнотекстовый поиск.

Для включения полнотекстового поиска выполните те же действия, но переключите тумблер в состояние «Вкл».
Установка перезапуска рабочих процессов.
По умолчанию, после установки сервера 1С, интервал перезапуска рабочих процессов , доступный объем памяти и интервал превышения допустимого объема памяти устанавливается в ноль.
Для улучшения ситуации с загрузкой памяти процессом rphost.exe, установим в настройках кластера консоли администрирования кластера серверов 1С следующие параметры:

- Как в 1С создать и заполнить контрагента? 1С 8.2
- Расходы будущих периодов в 1С 8.3
- Как работать с таблицей значений 1С 8.3, 1С 8.2 Таблица значений 1С 8.3, 8.2 Примеры для разработчика 1С
- Как в 1С:Бухгалтерии 8.3 ввести хозяйственную операцию? Как правильно создать документ по проводке?
- Как в 1с 8.3 списать материалы? Акт на списание товарно-материальных ценностей
- Как редактировать данные сотрудника в 1С. Кадровый учет в 1С. Изменение фамилии сотрудника в «1С:Бухгалтерия 8» (ред. 3.0)?
- Настройка автоматической блокировки сеансов по расписанию на сервере 1С 8.3 . Как выгнать пользователей из 1С. Настройка задачи для планировщика Windows
- Как создавать документы в «1С:Бухгалтерия 8.3 через проводку? Ручная операция, если известна корреспонденция счетов
- Вопросы и ответы 1С для Андроид скачать. Как установить программу на планшет или телефон с Андроид? Как создать ярлык запуска на главном экране Андроид?
- Как в 1С Бухгалтерия 8.2 выплатить зарплату?
Если у Вас появились вопросы по статье или остались нерешенные проблемы обсудить их Вы можете на Форуме 1С Вопросы и ответы
Решение проблемы, когда Rphost ест память на Сервере 1С — Программист 1С Минск. Автоматизация бизнеса.

Решение проблемы, когда Rphost ест память на Сервере 1С
Данные > Статьи и инструкции > Администрирование
АДМИНИСТРИРОВАНИЕ 1С 8 → перейти в меню [СТАТЬИ И ИНСТРУКЦИИ] 
Если на настроенном Сервере 1С в связке с MS SQL Server — rphost загружает процессор или виртуальную память. Нам поможет настройка интервала перезапуска рабочих процессов в локальном кластере.
1) Выполняем на Windows Server: Пуск — 1C Предприятие 8 (x86-64) – Дополнительно — Администрирование серверов 1С Предприятия.

2) Выбираем наш 1С Сервер – Кластеры – Локальный кластер. Заходим в его свойства.
3) В свойствах «Локального кластера заполняем графы. У меня на сервере установлены следующие параметры:

Интервал перезапуска 86400 секунд (24 часа)
Интервал времени после запуска процесса, по истечении которого рабочий процесс перезапускается. Нулевое значение означает, что рабочие процессы не будут перезапускаться автоматически.
Допустимый объем памяти 2000000 KB (оставим 2ГБ памяти на съедение)
Устанавливает предельный объем виртуального адресного пространства, после постоянного превышения которого в течение определенного времени (см. следующий параметр) рабочий процесс будет автоматически перезапущен. Нулевое значение означает, что критический объем памяти не задан и автоматический перезапуск рабочих процессов не выполняется.
Интервал превышения допустимого объема памяти 60 секунд
Определяет интервал времени постоянного превышения предельного объема виртуального адресного пространства, занимаемого рабочим процессом (см. предыдущий параметр), после которого выполняется автоматический перезапуск рабочего процесса. Нулевое значение означает, что автоматически перезапуск рабочих процессов не выполняется.
P.S. – Windows Server 2008 R2 Enterprise + Microsoft SQL Server 2008 R2 + Сервер 1С+ платформа 1С:Предприятие 8.3 (8.3.5.1383). Полёт нормальный).
Архитектура кластера
В клиент-серверном варианте работы клиентское приложение взаимодействует с кластером серверов, который, в свою очередь, осуществляет взаимодействие с сервером баз данных.

Один из компьютеров, входящих в состав кластера серверов, является центральным сервером кластера. Центральный сервер, помимо обслуживания клиентских соединений, управляет работой всего кластера и хранит реестр кластера.
Для клиентского соединения кластер адресуется по имени центрального сервера и номеру сетевого порта. Если используется стандартный сетевой порт, то достаточно указания одного имени центрального сервера.
При установке соединения клиентское приложение обращается к центральному серверу кластера. Центральный сервер, на основе анализа статистики загруженности рабочих процессов, направляет клиентское приложение к конкретному рабочему процессу, который будет его обслуживать. Этот процесс может находиться как на центральном сервере, так и на любом рабочем сервере кластера.
Рабочий процесс выполняет аутентификацию пользователя и обслуживает соединение до окончания сеанса работы клиента с данной информационной базой.
Состав простейшего кластера серверов
Простейший кластер серверов может располагаться на одном компьютере и содержать один рабочий процесс:

На рисунке представлены все элементы, которые задействованы в работе кластера серверов, а именно:
- процессы кластера серверов:
- ragent.exe;
- rmngr.exe;
- rphost.exe;
- список кластеров;
- реестр кластера.
Функционирование компьютера в составе кластера обеспечивается процессом ragent.exe, который называется агентом сервера. Соответственно компьютер, на котором запущен агент сервера, называется рабочим сервером. Одной из функций агента сервера является ведение списка кластеров, расположенных на данном рабочем сервере.
Агент сервера и список кластеров не входят в состав кластера серверов, а лишь обеспечивают работу сервера и кластеров, которые расположены на нем.
Непосредственно кластер серверов включает в себя следующие элементы:
- один или несколько процессов rmngr.exe;
- реестр кластера;
- один или несколько процессов rphost.exe.
Процесс rmngr.exe называется менеджером кластера. Этот процесс управляет функционированием всего кластера. В составе кластера может существовать несколько процессов менеджера кластера. Один из этих процессов всегда является главным менеджером кластера, остальные — дополнительными менеджерами. Рабочий сервер, на котором функционирует главный менеджер кластера и располагается реестр кластера, называется центральным сервером кластера. Одной из функций главного менеджера кластера является ведение реестра кластера.
Процесс rphost.exe называется рабочим процессом. Рабочий процесс обслуживает непосредственно клиентские приложения, взаимодействует с сервером баз данных и в нем, в частности, могут исполняться процедуры серверных модулей конфигурации.
Сеансы
Сеанс определяет активного пользователя информационной базы и поток управления этого пользователя. Существуют следующие виды сеансов:
- Толстый клиент, Тонкий клиент, Веб-клиент — создаются при обращении, соответственно, толстого, тонкого и веб-клиента к информационной базе,
- Конфигуратор — создается при обращении конфигуратора к информационной базе,
- COM-соединение — создается при обращении к информационной базе через внешнее соединение,
- WS-соединение — создается при обращении веб-сервера к информационной базе в результате обращения к Web-сервису, опубликованному на веб-сервере,
- Фоновое задание — создается при обращении рабочего процесса кластера к информационной базе. Предназначен для выполнения кода процедуры фонового задания,
- Консоль кластера — создается при обращении утилиты администрирования клиент-серверного варианта к рабочему процессу,
- COM-администратор — создается при обращении к рабочему процессу через внешнее соединение.