Rmngr exe что это
Перейти к содержимому

Rmngr exe что это

  • автор:

Rmngr exe что это

Всем доброго времени суток. Надеюсь получить полезный совет.

В последние несколько дней заимел проблемы с сервером и, как следствие, проблемы на тонких клиентах, которые работают очень медленно. Нагрузка на серверный процессор возросла до 100% и держится непрерывно. Диспетчер задач указывает, что основная проблема в rmngr.exe, который вкупе с процессами rphost.exe полностью загружает процессор. Анализ mngr.exe с помощью Process Monitor от Windows Sysinternals показал, что идет непрерывный доступ к C:\Program Files (x86)\1cv8\srvinfo\reg_1541\xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\1Cv8Log\1Cv8.lgd, где «xxx» — абсолютно разные каталоги. Если бы это был доступ к логам какой-то определенной базы, то можно было бы выявить закономерность, но доступ идет к разным и в основном это операции чтения. Процесс rmng.exe это менеджер сервера и я не могу понять, почему он стал настолько активным. Раньше все работало гладко.

Конфигурация: Windows Server 2008 R2 + MS SQL Server 2008 R2 + 1C 8.3.7.1776. На сервере находятся 18 баз данных: стандартные БП, ЗУП и парочка самописных. Отключение самописных баз не повлияло и нагрузка на процессор осталась. Доступ к базам данных ведется с рабочих станций доменов через локальную сеть и VPN, а также через сервер терминалов.

Скорее всего висят спящие сеансы в очень большом количестве

по умолчанию 1С усыпляет сеансы на сутки, иногда она начинает сходить с ума и начинает каждую секунду порождать по 2-3 спящих сеанса.
Т.е. нужно в консоли посмотреть так ли это. И если это так то в параметрах базы уменьшить время жизни таких сеансов с 24 часов хотя бы до минут 10

(0) переходите на старый формат журнала регистрации.

Aleksey, системный планировщик каждую ночь перезапускает все службы, связанные с сервером 1C и MS SQL. По идее, все должно убиваться.

+ к (3)
Как вернуть базу на старый формат журнала регистрации?
Ответ — При остановленном сервере приложений
— найти в папке базы в кластере (. \srvinfo\reg_\) папку журнала регистрации (1Cv8Log);
— из папки 1Cv8Log удалить все файлы (или переместить/переименовать папку);
— в папке 1Cv8Log создать пустой файл 1Cv8.lgf;

(4) Ты будешь смеяться но ни перезагрузка компьютера, ни переустановка сервера 1С не убивает эти процессы. Походу он куда то в блокнотик себе пишет и при восстановлении сервера автоматом восстанавливает и эти сеансы

Dmitrii, спасибо за информацию, я попробую. Есть ли какая-нибудь тенденция того, что новый формат журнала регистрации становится причиной таких проблем и совместима ли моя версия сервера со старым форматом?

Анализ причин роста сеансовых данных

В статье рассказывается о том, что такое сеансовые данные, какие существуют особенности платформы при работе с ними, как организовано их размещение на диске и в памяти. Также, освещаются проблемы, связанные с сеансовыми данными. В конце дается методика оценки причин роста сеансовых данных.

Сеансовые данные

Платформа «1С:Предприятие» в своей работе постоянно использует механизм, называемый «сеансовые данные». В этих данных хранится служебная информация, необходимая для работы сеанса «1С:Предприятия». Например, все, что введено в поля ввода на форме, при серверных вызовах сбрасывается в сеансовые данные.

При вызове методов: ПоместитьВоВременноеХранилище, ПоместитьФайл, НачатьПомещениеФайла, значения указанные в параметрах, записываются в сеансовые данные.

При фоновом исполнении отчетов СКД, результат отчета помещается в сеансовые данные, а затем передается в клиентскую часть.

С точки зрения операционной системы, сеансовые данные представляют собой файлы в каталоге …\srvinfo\reg_\snccntx.

С точки зрения внутренней структуры — это noSQL база данных (key-value storage).

Особенности работы платформы с сеансовыми данными

За работу с сеансовыми данными отвечает менеджер кластера – rmngr.exe Если в кластере несколько рабочих серверов, то сеансовые данные будут расположены в соответствии с требованиями назначения функциональности.

Если требования не заданы, то сеансовые данные распределятся равномерно по всем рабочим серверам.

Сеансовые данные растут блоками по 64 Мб. Когда заканчивается блок, то менеджер кластера выделяет следующий блок в 64Мб.Блоки большего объема возможны в результате помещения объемных данных во временные хранилища.

Для обеспечения скорости работы, платформа всегда пишет новые данные в конец, аналогично transaction log в СУБД. Таким образом, размер сеансовых данных постоянно растет. Во всем объеме сеансовых данных, существуют как актуальные, так и устаревшие данные. Актуальность данных определяется способом их помещения:

  • Если сеансовые данные помещены из формы и в качестве идентификатора передается идентификатор формы (ЭтаФорма.УникальныйИдентификатор), то данные считаются актуальными, пока открыта форма.
  • Если в качестве идентификатора передан УникальныйИдентификатор, не являющийся уникальным идентификатором формы (Новый УникальныйИдентификатор), то значение перестанет быть актуальным после завершения сеанса пользователя.
  • Если ничего не передано, то значение перестанет быть актуальным при любом следующем серверном вызове.

Перед выделением следующего блока на диске, проверяется, прошло ли 5 секунд с момента выделения предыдущего блока. Если 5 секунд прошло, то запускается «сборщик мусора» (key value garbage collector). Сборщик оценивает процент актуальных сеансовых данных в общем объеме. Если актуальные данные занимают менее 25% от общего объема, то все актуальные данные копируются в новые файлы, а затем все старые файлы сеансовых данных удаляются.

Так как каждый сеанс (клиенты, фоновые задания, web-сервисы) в своей работе постоянно пишет информацию в сеансовые данные, то при большом количестве пользователей, скорость дисковой подсистемы, на которой расположены файлы сеансовых данных, играет очень важную роль. При большом количестве пользователей, рекомендуется располагать файлы сеансовых данных на максимально быстрых дисках. Желательно RAM-drive. Отказоустойчивость дисков не важна, т.к. при потере сеансовых данных, никакой важной информации утеряно не будет.

Следует отметить порядок размещения сеансовых данных. Если поместить во временное хранилище двоичные данные или файл, то эти данные пройдут в качестве потока байт через rphost, затем в rmngr, который сбросит этот поток на диск. Если же, в качестве помещаемого значения, будет выступать коллекция (таблица значений, результат запроса, массив…), то сначала вся эта коллекция разместиться в памяти rphost, а только затем преобразуется в поток байт и будет передана в rmngr.

Размещение сеансовых данных в памяти

При работе кластера «1С:Предприятия», файлы сеансовых данных отображаются в память (mapping). Подробнее см. статью.

За счет данного механизма, процесс работает с файлом как с оперативной памятью. Файл загружается в память не целиком, а только необходимая часть.

Однако, в операционной системе Windows, отображенные в память файлы, влияют на счетчик Memory\Available Mbytes. При сильном росте сеансовых данных можно увидеть следующую картину:

Свободное место на диске, где расположены сеансовые данные, уменьшается синхронно со свободной памятью сервера. На самом деле, если посмотреть данные RamMap то видно, что большая часть оперативной памяти выделена под Mapped File

Размер памяти, указанный в колонке Standby – это неиспользуемая память (фактически свободная). При запросе памяти любым процессом, ему будет выделена память из этой области.

Следует учитывать данную особенность счетчика Memory\Available Mbytes при построении систем мониторинга или приложений, которые опираются на объем доступной оперативной памяти.

Для косвенной оценки эффективности работы операционной системы с сеансовыми данными, можно использовать счетчик Memory\Page Faults/sec, который показывает на сколько часто процессы обращаются за страницами в память, но не находят их там и подгружают с диска.

Если значение данного счетчика велико, то это может свидетельствовать о нехватке оперативной памяти для кэширования в ней сеансовых данных. В этом случае, необходимо принять решение об увеличении оперативной памяти, либо об оптимизации работы приложения с сеансовыми данными.

Проблемы сеансовых данных

Ошибка совместного доступа к файлу snccntx.dat

При появлении данной ошибки необходимо действовать по алгоритму:

1. Проверить права на папку сеансовых данных для пользователя, от которого запущена служба сервера «1С:Предприятия». Должны быть полные права.

2. Открыть на рабочем сервере диспетчер задач, установить видимость колонки «Командная строка»

3. Необходимо найти процессы rmngr.exe с одинаковым значением параметра –pid.

4. Открыть консоль кластера. Развернуть ветку кластера, порт которого соответствует параметру –regport , найденных rmngr.exe с одинаковым значением параметра –pid

5. Сопоставить PID из диспетчера задач с PID в консоли кластера. Тот процесс rmngr.exe, которого нет в консоли – принудительно завершить.

Закончилось место на диске, где расположены сеансовые данные

Необходимо следить за наличием свободного места на диске, где расположены сеансовые данные.

Не следует размещать файлы технологических журналов на одном диске с сеансовыми данными.

Если на диске, где расположены сеансовые данные, закончится место, то картина будет совершенно «апокалиптическая». Менеджер кластера будет постоянно завершаться с формированием дампа. Начнутся сотни попыток запусков рабочих процессов, которые сразу же будут завершаться с ошибками. После того, как на диске появится свободное место, сервер «1С:Предприятия» запустится в нормальном режиме.

Так же, необходимо следить за размером самих сеансовых данных. Если периодически их размер становится существенным, то необходимо обратить на это особое внимание. Следует помнить, что при срабатывании «сборки мусора» необходимо наличие свободного места на диске, в размере 25% от общего объема сеансовых данных. Если этих 25% не будет, то кластер завершит свою работу аварийно.

Изменить расположение сеансовых данных, можно указав параметр –d в строке запуска службы агента сервера.

В данном каталоге, также расположены: реестр кластера, индекс полнотекстового поиска и журнал регистрации.

Влияние циклических ссылок на рост сеансовых данных

Чаще всего при выполнении процедуры ПоместитьВоВременноеХранилище, указывается идентификатор формы (ЭтаФорма.УникальныйИдентификатор). Как написано в документации, при указании идентификатора формы данные перестают считаться актуальными после того как форма будет закрыта.

Однако, если форма содержит в себе циклические ссылки (см. статью), то после закрытия формы она не уничтожается. Это приводит следующим отрицательным эффектам:

  • данные формы остаются в памяти
  • сеансовые данные, выделенные для формы, считаются актуальными, пока не будет завершен сеанс

Чтобы избежать данной ситуации, необходимо исключить все циклические ссылки в форме (см. статью).

Необходимо стараться формировать отчеты СКД в фоновом режиме. Так как результат отчета помещается во временное хранилище фоновым заданием, то после завершения задания данный результат будет считаться неактуальным.

Методика анализа роста сеансовых данных

Сбор данных

Необходимо собрать технологический журнал:

Данный технологический журнал может занимать значительный объем. Поэтому необходимо располагать его на дисках имеющих достаточно свободного пространства, периодически переносить старые файлы журнала на другой диск и там архивировать (сохраняя структуру папок).

После того, как технологический журнал будет собран, необходимо провести «парсинг» и выгрузить его данные в файлы csv формата:

На основании данных, которые собраны в папках rmngr_*, необходимо сформировать csv файл вида:

  • – имя файла технологического журнала,
  • – значение свойства CallID,
  • — значение свойства InBytes.

В файле …/rmngr_7188/ 15063011. log есть строка:

00:00.063040-93009,CALL,1,process=rmngr,p:processName=RegMngrCntxt,t:clientID=7518,t:applicationName=ServerProcess,t:computerName=SERVER,Interface=90b77326-8e4a-4195-b980-d758277d1f03,Method=9,CallID=141192031,Memory=1137,MemoryPeak=9258,InBytes=142428,OutBytes=142428

Данная строка должна быть преобразована в строку:

15063011;141192031;142428

Необходимо исключить из итогового файла строки с InBytes=0, т.к. они не представляют интереса, но занимают значительный объем.

На основании данных, которые собраны в папках rphost_*, необходимо сформировать csv файл вида:

  • – имя папки рабочего процесса,
  • – имя файла технологического журнала,
  • – значение свойства t:clientID,
  • – значение свойства CallID.

В файле …/ rphost_1352 / 15063011 .log есть строка:

00:00.064001-108993,SCALL,2,process=rphost,p:processName=DB,t:clientID=518,t:applicationName=1CV8,t:computerName=TSERVER,t:connectID=5880,SessionID=4621,Usr=Пользователь,AppID=1CV8,ClientID=404,Interface=90b77326-8e4a-4195-b980-d758277d1f03,Method=0,CallID=-1814608052

Данная строка должна быть преобразована в строку:

rphost_1352;15063011;518;-1814608052

На основании данных, которые собраны в папках rphost_*, необходимо сформировать csv файл вида:

  • – имя папки рабочего процесса,
  • – значение свойства t:clientID,
  • – Имя пользователя из свойства Usr.

В файле …/ rphost_1352 /15063011.log есть строка:

06:29.468020-0,CONN,3,process=rphost,p:processName=DB,t:clientID=518,t:applicationName=1CV8,t:computerName= TSERVER,t:connectID=5590,SessionID=3012,Usr= Пользователь,AppID=1CV8,ClientID=555,Protected=0,Txt='Connected, client=(23)[::1]:53147, server=(23)[::1]:1541'

Данная строка должна быть преобразована в строку:

rphost_1352;195;Пользователь

В итоге должно получиться 3 файла: scall.csv, call.csv, conn.csv

Пример создания файлов csv, на основании данных технологического журнала, см. в обработке.

Создание базы данных для анализа

Необходимо создать пустую базу данных (MS SQL Server), в которую добавить таблицы:

CREATE TABLE [dbo].[scall]([process] [varchar](50) NULL,[period] [varchar](8) NULL,[ClientID] [bigint] NULL,[CallID] [bigint] NULL) ON [PRIMARY]GOCREATE TABLE [dbo].[call]([period] [varchar](8) NULL,[CallID] [bigint] NULL,[Mem] [bigint] NULL) ON [PRIMARY]GO CREATE TABLE [dbo].[usr]([process] [varchar](50) NULL,[ClientID] [bigint] NULL,[Usr] [varchar](255) NULL) ON [PRIMARY]GOCREATE NONCLUSTERED INDEX [IX_PC] ON [dbo].[call]([period] ASC,[CallID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]GOCREATE NONCLUSTERED INDEX [IX_PC] ON [dbo].[scall]([period] ASC,[CallID] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]GOCREATE NONCLUSTERED INDEX [IX_CP] ON [dbo].[usr]([ClientID] ASC,[process] ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]GO

Затем, в эти таблицы необходимо загрузить данные из соответствующих csv файлов. Сделать это можно с помощью SQL Server Integration Services

После того, как информация будет загружена в таблицы, можно проводить анализ.

Анализ работы с сеансовыми данными

TOP – 10 пользователей в разрезе процессов и времени

SELECT TOP 10 s.[process], s.[period], s.[ClientID], u.[Usr], SUM(c.[Mem]) AS MemFROM [dbo].[call] AS c INNER JOIN [dbo].[scall] AS s ON s.[period] = c.[period] AND s.CallID = c.CallID LEFT OUTER JOIN (SELECT DISTINCT process, ClientID, [Usr] FROM [dbo].[usr]) AS u ON u.process = s.process AND u.ClientID = s.ClientIDGROUP BY s.[process], s.[period], s.[ClientID], u.[Usr]ORDER BY Mem Desc

Запрос покажет топ-10 пользователей, которые поместили больше всего сеансовых данных в час. Затем необходимо разобраться с самым верхним (в текущем случае):

rphost_1352 | 15063011 | 518 | Пользователь | 2046616858

Т.е. в процессе rphost_1352 за час с 11-00 по 12-00 пользователь с идентификатором 518 записал в сеансовые данные 2 046 616 858 байт (2Гб).

Далее, необходимо найти все идентификаторы вызовов, которые записывал сеанс 518:

SELECT s.[process], s.[period], s.[ClientID], c.[Mem], c.CallIDFROM [dbo].[call] AS c INNER JOIN [dbo].[scall] AS s ON s.[period] = c.[period] AND s.CallID = c.CallID AND s.[period] = '15063011' AND s.[ClientID] = 518 AND s.[process] = 'rphost_1352'ORDER BY [Mem] DESC

Получится таблица вида:

Архитектура кластера

В клиент-серверном варианте работы клиентское приложение взаимодействует с кластером серверов, который, в свою очередь, осуществляет взаимодействие с сервером баз данных.

Архитектура кластера

Один из компьютеров, входящих в состав кластера серверов, является центральным сервером кластера. Центральный сервер, помимо обслуживания клиентских соединений, управляет работой всего кластера и хранит реестр кластера.

Для клиентского соединения кластер адресуется по имени центрального сервера и номеру сетевого порта. Если используется стандартный сетевой порт, то достаточно указания одного имени центрального сервера.

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

Рабочий процесс выполняет аутентификацию пользователя и обслуживает соединение до окончания сеанса работы клиента с данной информационной базой.

Состав простейшего кластера серверов

Простейший кластер серверов может располагаться на одном компьютере и содержать один рабочий процесс:

Архитектура кластера

На рисунке представлены все элементы, которые задействованы в работе кластера серверов, а именно:

  • процессы кластера серверов:
    • ragent.exe;
    • rmngr.exe;
    • rphost.exe;
    • список кластеров;
    • реестр кластера.

    Функционирование компьютера в составе кластера обеспечивается процессом ragent.exe, который называется агентом сервера. Соответственно компьютер, на котором запущен агент сервера, называется рабочим сервером. Одной из функций агента сервера является ведение списка кластеров, расположенных на данном рабочем сервере.

    Агент сервера и список кластеров не входят в состав кластера серверов, а лишь обеспечивают работу сервера и кластеров, которые расположены на нем.

    Непосредственно кластер серверов включает в себя следующие элементы:

    • один или несколько процессов rmngr.exe;
    • реестр кластера;
    • один или несколько процессов rphost.exe.

    Процесс rmngr.exe называется менеджером кластера. Этот процесс управляет функционированием всего кластера. В составе кластера может существовать несколько процессов менеджера кластера. Один из этих процессов всегда является главным менеджером кластера, остальные — дополнительными менеджерами. Рабочий сервер, на котором функционирует главный менеджер кластера и располагается реестр кластера, называется центральным сервером кластера. Одной из функций главного менеджера кластера является ведение реестра кластера.

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

    Сеансы

    Сеанс определяет активного пользователя информационной базы и поток управления этого пользователя. Существуют следующие виды сеансов:

    • Толстый клиент, Тонкий клиент, Веб-клиент — создаются при обращении, соответственно, толстого, тонкого и веб-клиента к информационной базе,
    • Конфигуратор — создается при обращении конфигуратора к информационной базе,
    • COM-соединение — создается при обращении к информационной базе через внешнее соединение,
    • WS-соединение — создается при обращении веб-сервера к информационной базе в результате обращения к Web-сервису, опубликованному на веб-сервере,
    • Фоновое задание — создается при обращении рабочего процесса кластера к информационной базе. Предназначен для выполнения кода процедуры фонового задания,
    • Консоль кластера — создается при обращении утилиты администрирования клиент-серверного варианта к рабочему процессу,
    • COM-администратор — создается при обращении к рабочему процессу через внешнее соединение.

    Что такое » rmngr.exe » ?

    В нашей базе содержится 230 разных файлов с именем rmngr.exe . You can also check most distributed file variants with name rmngr.exe. Чаще всего эти файлы принадлежат продукту 1C:Enterprise 8.2. Наиболее частый разработчик — компания 1C. Самое частое описание этих файлов — rmngr. Совокупная оценка — 5( 5 ) (комментариев: 1 ). Это исполняемый файл. Вы можете найти его выполняющимся в диспетчере задач как процесс rmngr.exe.

    Подробности о наиболее часто используемом файле с именем «rmngr.exe»

    Продукт: 1C:Enterprise 8.2 Компания: 1C Описание: rmngr Версия: 8.2.16.368 MD5: e417e01d8ede3ff41eac8bec6959b7ac SHA1: f1b6b0d41a133badcf5d4c2c6c393c8f0aa4ff59 SHA256: 1608063498ee51837dc080ce77ac7d19727409f2dc22daf9b25d444ef104cd80 Размер: 29528 Папка: %PROGRAMFILES%\1cv82\8.2.16.368\bin ОС: Windows 7 Частота: Низкая Цифровая подпись: 1C Company

    Проверьте свой ПК с помощью нашей бесплатной программы

    Icon

    System Explorer это наша бесплатная, удостоенная наград программа для быстрой проверки всех работающих процессов с помощью нашей базы данных. Эта программа поможет вам держать систему под контролем.

    Процесс «rmngr.exe» безопасный или опасный?

    Загрузка диаграммы
    100% файлов помечены как безопасные .

    Последний новый вариант файла «rmngr.exe» был обнаружен 4011 дн. назад. В нашей базе содержится 6 шт. вариантов файла «rmngr.exe» с окончательной оценкой Безопасный и ноль вариантов с окончательной оценкой Опасный . Окончательные оценки основаны на комментариях, дате обнаружения, частоте инцидентов и результатах антивирусных проверок.

    Комментарии пользователей для «rmngr.exe»

    Текущим параметрам фильтрации удовлетворяют несколько файлов. Будут показаны комментарии ко всем файлам.

    Комментарии ко всем файлам с именем «rmngr.exe»

    БЕЗОПАСНЫЙ оценка пользователя Alex для файла %PROGRAMFILES%\1cv8\8.3.5.1517\bin\rmngr.exe

    Добавить комментарий для «rmngr.exe»

    Для добавления комментария требуется дополнительная информация об этом файле. Если вам известны размер, контрольные суммы md5/sha1/sha256 или другие атрибуты файла, который вы хотите прокомментировать, то вы можете воспользоваться расширенным поиском на главной странице .

    Если подробности о файле вам неизвестны, вы можете быстро проверить этот файл с помощью нашей бесплатной утилиты. Загрузить System Explorer.

    Проверьте свой ПК с помощью нашей бесплатной программы

    System Explorer это наша бесплатная, удостоенная наград программа для быстрой проверки всех работающих процессов с помощью нашей базы данных. Эта программа поможет вам держать систему под контролем. Программа действительно бесплатная, без рекламы и дополнительных включений, она доступна в виде установщика и как переносное приложение. Её рекомендуют много пользователей.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *