Имя: Пароль:
1C
1С v8
rmngr съел всю доступную память сервера (32 ГБ)
,
0 jk3
 
14.04.16
11:44
По монитору ресурсов процесс rmngr.exe

Завершено 32 ГБ // Private Bytes
Рабочий набор 5 ГБ // Working Set
Пиковый рабочий набор 22 ГБ // Peak Working Set

Согласно статьи: https://its.1c.ru/db/metod8dev#content:5815:hdoc
в этом случае нужно снимать дамп памяти и отправлять в 1С.

Файл дампа, я так понимаю, будет на 32 ГБ? И как его тогда отправлять?
Кто-нибудь пробовал?
Что ответили из 1С?

Я так понимаю, нет никаких средств посмотреть почему rmngr съел столько памяти?

Версия платформы 8.3.6.2449
1 Живой Ископаемый
 
14.04.16
11:46
почему съел - или есть или нет. Как съел - можно, через технологический журнал. Есть материалы на итс и в сети
2 пипец
 
14.04.16
11:47
3 jk3
 
14.04.16
11:55
(2) Причём тут эта тема?
Там пишут про логи и загрузку процессора, а не память.
4 jk3
 
14.04.16
12:01
(1) Есть готовые настройки для сбора тех.журнала именно для потребления памяти rmngr?
5 Живой Ископаемый
 
14.04.16
12:04
2(4) не знаю, есть?
6 Живой Ископаемый
 
14.04.16
12:05
7 Живой Ископаемый
 
14.04.16
12:06
"События LEAKS — события, связанные с утечкой памяти, которые могут быть вызваны ошибками в коде конфигурации.
События MEM — события, связанные с увеличением объема памяти, занятой серверными процессами (ragent, rmngr, rphost).
"
8 jk3
 
14.04.16
12:37
Фоновое задание, которое долго исполнялось, может давать такой эффект на rmngr?


Фоновое задание
Время вызовов СУБД (всего) = 4763 сек
Данных СУБД (всего) = 1 ГБ
Память текущая = 1,7 ГБ
9 jk3
 
14.04.16
17:54
Попробовал снять дамп с процесса, так и есть файл на over 30 ГБ.
Это не вариант вообще.
Только настраивать сбор логов.
10 jk3
 
21.04.16
09:16
Подскажите, это правильный файл logcfg.xml


<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">;
      <dump create="true" location="D:\1C\dumps" prntscrn="false" type="2"/>
      <log history="96" location="D:\1C\logs">
            <event>
                  <eq property="name" value="LEAKS"/>
            </event>
            <event>
                  <eq property="name" value="MEM"/>
            </event>
            <property name="all"/>
      </log>
</config>

Почему-то файлы логов все пустые.
11 jk3
 
26.04.16
09:15
Опять тоже самое.

Почему-то эта настройка тех. журнала собирает логи только процессов w3wp и mmc.

Как настроить тех.журнал, чтобы он собирал логи по rmngr?
12 jk3
 
26.04.16
10:21
Как такое может быть, что регламентное задание завершается без ошибок, а потом через 40 минут сеанс этого регламентного задания завершается с ошибкой "На сервере недостаточно памяти для выполнения задания." ?

http://s8.hostingkartinok.com/uploads/images/2016/04/30d9c13f417c14f13a0becfa72e115c7.png
13 jk3
 
07.05.16
22:52
В очередной раз rmngr отожрал уже 36 ГБ.
http://s8.hostingkartinok.com/uploads/images/2016/05/34addad0a98c66c86ea0b6800e93748c.png

В логах по утечкам памяти ничего :(

По всей видимости, в настройках тех.журнала надо еще какой-то пункт кроме утечек памяти включить...
14 Drac0
 
07.05.16
23:40
(12) Сам код анализировал?
15 TormozIT
 
гуру
08.05.16
09:55
Отключи все регламентные задания. Перезапусти службу агента. Потом запускай регламентные задания в порядке убывания вероятности причастности. Если они не причем, то дальше попробуй сделать тоже самое с пользователями.
16 TormozIT
 
гуру
08.05.16
09:56
(15) С регламентными заданиями желательно диагностику эту проводить в нерабочее время, чтобы вход пользователей был заблокирован.
17 ansh15
 
08.05.16
11:44
(8) Фоновые задания все могут. И память съесть и и сервер приложений в ступор вогнать... В 1С с этим непрерывно борются
https://bugboard.v8.1c.ru/error/000012397.html
Ели поискать  по слову "rmngr", можно найти еще аварийных завершений/зависаний в зависимости от ситуации.
Я к тому, что неплохо было бы платформу обновить до последней какой-нибудь, чтобы выяснить из-за чего так, поведение платформы, код в рег. задании, или, на самом деле, физической памяти для ваших задач нужно просто больше.
18 jk3
 
10.05.16
11:03
(14) Регламентное задание запускает на выполнение несколько десятков тысяч строк кода по разным условиям. Если бы это была одна процедура, можно было бы проанализировать, а так нет.
(15) Я точно знаю из-за какого это регламентного задания, но мне от этого не легче (см. выше).
(16) Оно выполняется одно и в один поток. В это время никакие больше регламентные задания в базе не выполняются.
(17) К сожалению, не мой вариант. Это относится к 8.3.7, неизвестно есть ли этот баг в 8.3.6, да и фоновое задание только одно.

>физической памяти для ваших задач нужно просто больше
Я понимаю, когда rphost много жрёт памяти -- это действительно что-то с кодом, т.к. именно в контексте этого процесса выполняется код.
Но когда жрёт память rmngr -- становится непонятно.

Попробовал поискать на багборде по ключевому слову rmngr. Ничего подходящего нет.

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

Например, что по этой строке лога можно понять?

21:34.138016-9,MEM,0,process=1cv8,sz=109119045,szd=4294848939,cn=1480278,cnd=29
19 jk3
 
13.05.16
14:17
Ну вот, опять.
В системном журнале Windows:

Нехватка виртуальной памяти в системе успешно обнаружена.
Наибольший объем виртуальной памяти был выделен следующим программам:
для rmngr.exe (4204) выделено 28407799808 байт,
для rphost.exe (6812) выделено 16679305216 байт,
для rphost.exe (10052) выделено 3227074560 байт.

Служба "Агент сервера 1С:Предприятия 8.3 (x86-64)" неожиданно прервана. Это произошло (раз): 2.


При этом в логах технологического журнала есть только процессы w3wp.

Вот настройки тех.журнала:

http://s8.hostingkartinok.com/uploads/images/2016/05/4d184868d06329217a7751d68a7f4821.png

Какие еще галки нужно поставить, чтобы начали писаться логи по процессам rmngr и rphost ?
20 Midaw
 
13.05.16
14:52
(18) это что за регламентное? глаза боятся, а руки копают. если это писанный монстр, то пришло время оптимизации и возможно дробления.
21 jk3
 
17.05.16
13:52
(20) Да, писанный монстр по загрузке документов из внешней системы.

>возможно дробления
Так и сделал, разделил регламентное задание на 3 куска, указав параметр "завершать после" у первых 2-х кусков.
Посмотрим.
22 Злопчинский
 
17.05.16
13:54
(20) а отчего так пухнуть-то может? прочитал данные. извлек нужные данные по базе. записал нужные данные. хрен ли здесь пухнуть? передовая платформа требует передовых мощностей?
23 jk3
 
27.05.16
09:15
(22) Я думаю дело не в платформе, а в каком-то хитром коде. Только выяснить это не удается.

С памятью всё устаканилось, но после завершении сеанса регламентного задания сообщение "Аварийно завершился рабочий процесс фонового задания".
24 darius357
 
27.05.16
09:33
ну как всегда побакланили, и нифига толку
25 4St
 
27.05.16
10:56
(23) как найти этот код:
Смотрим код, выполняемый фоновым заданием.
Определяем в нем границы логических блоков. Например, в начале алгоритма выполняется какой-то запрос, затем полученная выборка как-то обходится и для каждого элемента выполняются какие-то вычисления. Затем результат вычислений пишется обратно в базу (создаются/обновляются документы).
Итого получаем 3 блока: выборка, вычисления, запись. Между ними добавляем в код что-то вроде ЗаписьЖурналаРегистрации с какими-то понятными комментами,которые легко будет потом найти в ЖР.
После того,как очередное ФЗ свалилось, идём в ЖР и понимаем по комментариям, какой блок выполниться не смог.
Делим его на более мелкие блоки, добавляем ЗаписьЖурналаРегистрации между ними и продолжаем локализацию бага таким образом.
В конце концов уткнемся викакой-то бесконечный цикл, безвыходную рекурсию или тяжёлый запрос. Синим,радуемся,убираем отладочные комментарии.
26 пипец
 
27.05.16
14:26
http://tavalik.ru/agent-servera-1spredpriyatiya-8-ego-parametry-zapuska/
(0) мну - откатил релиз чуть вниз , выставил интервал по времени перезапуска больше (в консоли сервера 1С) - не знаю что именно из этого помогло - но работает
27 Карупян
 
27.05.16
14:27
лучше call'ы смотреть с допустим > 1Gb
28 Карупян
 
27.05.16
14:28
Самый простой пример:
Виртуальная таблица остатки и обороты по регистратору кушает прилично памяти на сервере 1С
29 jk3
 
01.06.16
10:22
(28) Это же временно. Память должна освобождаться при выходе из процедуры/функции, если ссылок не осталось.

(25) Проблема НЕ в том, чтобы определить где свалилось.

Сейчас проблема такая, журнал регистрации:
4:19:15 Закончено регламентное задание по загрузке данных // эта запись пишется в ЖР вручную последней строкой процедуры выполнения регламентного задания
4:21:01 Фоновое задание. Успешное завершение
4:21:31 Сеанс. Завершение


При этом в консоли регламентных заданий:
4:21:30 Задание завершено с ошибками: Аварийно завершился рабочий процесс фонового задания
30 Lama12
 
01.06.16
10:25
(0) Пишешь запрос в 1С. Они тебе присылают ссылку на FTP, а так же логин и пароль.
Основная теорема систематики: Новые системы плодят новые проблемы.