Недостаточно памяти при выполнении фонового задания #745559


#0 by arishkaKlimova
1С:Предприятие 8.3 (8.3.6.2041) 32битный сервер Управление торговлей, редакция 11.1.10.131 Сервер: Intel Xeon cpu e5-2609 v2 2.50GHz 2.50 GHz (2 процессора) ОЗУ 16 GB Windows Server 2012 r2 standard x64 При выполнении фонового задания "Получение и отправка электронных писем" в журнале регистрации выдаёт "На сервере недостаточно памяти для выполнения задания." Из-за чего это может быть? Как с этим бороться?
#1 by vicof
я думаю, потому что недостаточно памяти на сервере
#2 by vicof
купите память
#3 by Heckfy
"Из-за чего это может быть? Как с этим бороться?!" - фиг знает, чего вы там накодили.....
#4 by arishkaKlimova
16 gb ОЗУ для базы весом 10 gb и 10 пользователями - я думаю, что должно хватать. Вдобавок в диспетчере задач используется только 10 gb. Создаётся 3 процесса rphost (3 гб, 3гб и 100 мб), после попытки фонового задания процессы падают, остаётся только один. УТ типовая
#5 by arishkaKlimova
Есть у кого-нибудь мысли по этому поводу?
#6 by asady
окрывай код этого фонового задания копируй его во внешнюю обработку и запускай - если ошибка воспроизводится - найти строку на которой падает не составит проблемы
#7 by ЧеловекДуши
Да побоку на ОЗУ. Если вы выполняете какой либо отчет с кривым запросом, то любая память будет съедена полностью :)
#8 by ЧеловекДуши
Руки из Ж_ПЫ у кодера :)
#9 by arishkaKlimova
Дак дело в том, что ОЗУ до конца не съедается. Остаётся ещё гигов 5
#10 by ХардHard
Почта настроена криво, как вариант. Или в почте что то страшное лежит.
#11 by D_E_S_131
Для сервера 1С х32 все равно сколько у вас там ОЗУ — процесс rphost "возьмет" только ~3Г.
#12 by ХардHard
+ к А так позвать профессионала нужно.
#13 by D_E_S_131
...если в фоновом задании выполняется, то не rphost, а rmngr.
#14 by Поpyчик-4
Не поможет. Мы сейчас тоже бъёмся, только с закрытием месяца. 8.3.6.2014 Управление торговлей и взаимоотношениями с клиентами (CRM), редакция 2.0 (2.0.11.5) ПартионныйУчетСервер.ФормированиеДвиженийПоПартиямЗатратамНДС; На сервере недостаточно памяти для выполнения задания. Физическая память 22 Гб.
#15 by D_E_S_131
Вообще "умиляет", когда якобы программисты не понимают разницу между физической памятью и адресацией.
#16 by ХардHard
Может у них х64 сервак)
#17 by D_E_S_131
Да все равно что там у них. Это не отменяет наличие элементарных знаний по мониторингу ресурсов компьютера.
#18 by arishkaKlimova
Да, кстати, сделала настройки локального кластера, количество ИБ на процесс поставила один. Также ограничила допустимый объём памяти до 3гб. По идее, после того, как процесс доходит до 3 гб, он должен создавать новый процесс, но в этом случае 1с начинает тормозить, а у регламентного задания выскакивает ошибка нехватки памяти
#19 by D_E_S_131
Новые процессы помогут только клиентским соединениям. С сильно занятых процессов клиенты будут "перекидываться" на менее загруженные. Фоновые все равно все в одном rmngr выполняются, а он "отъест" положенное и сдохнет. Надо с почтой разбираться, посмотреть, не шлется ли там действительно что-то огромное (например, отчет какой-нибудь в PDF на 100500 страниц к письму прикреплен).
#20 by arishkaKlimova
Окей, спасибо за дельный совет! А как же сделать так, чтобы создавались новые процессы rphost? Потому что сервер мощнее, чем был раньше, а тормозов больше
#21 by hhhh
покупайте 64битный сервер
#22 by D_E_S_131
"А как же сделать так, чтобы создавались новые процессы rphost?" — их можно руками создать. Например, для ваших 16Г вполне 4 штуки можно "породить" если кроме сервера 1С ничего не "крутится" на машине.
#23 by arishkaKlimova
О великий DES! Расскажите, как их можно создать "руками". Буду премного благодарна!
#24 by D_E_S_131
#25 by D_E_S_131
...а вообще так все же должен найтись кто-то в организации, кто прочитает руководство "Администрирование сервера 1С:Предприятия".
#26 by Поpyчик-4
В теме речь идёт о 8.3., а ты суёшь 8.2. Разница по рабочим процессам существенная.
#27 by ИС-2
предлагаю почистить кэш и перезагрузить сервер диске C места много? возможно, что запрос кривой и создает большую временную таблицу. Для тестирования перенести код на клиента и посмотрите сколько будет уходить памяти
#28 by arishkaKlimova
Как тогда в 8.3? На диске C, кстати, странные вещи происходят: вдруг, внезапно заполнилось половина жёсткого, а это около 500 гб. Но 500, всё-равно, свободно
#29 by arishkaKlimova
Что будет, если я сделаю то, что предложил мне DES в ?
#30 by Поpyчик-4
Ничего не будет, потому что не получится сделать. Луркайте мануал по созданию рабочих процессов на сервере 1С 8.3
#31 by D_E_S_131
Ок, не обратил внимание, что это 8.3. Тогда цитируем ИТС -------------------------------------------------------- 2.1.7.3.3. Назначение рабочих процессов При запуске кластера на каждом рабочем сервере запускается по одному рабочему процессу и начинается процесс вычисления доступной производительности для каждого рабочего сервера (см. здесь). Установка соединения клиентского приложения с кластером серверов «1С:Предприятия» выполняется по следующим правилам: ? В соответствии с требованиями назначения и ограничениями по использованию оперативной памяти отбирается необходимый рабочий сервер. Ограничения по использованию оперативной памяти учитываются в том случае, если запрос на установку соединения выполняется к информационной базе, к которой нет установленных соединений на выбранном рабочем сервере. В случае превышения лимита использования оперативной памяти рабочий сервер исключается из списка, если существует другой рабочий сервер, который не превысил лимит. Также исключаются рабочие сервера, которые не могут обработать требуемое соединение исходя из требований назначения. ? Для выбранного сервера определяется список рабочих процессов, которые доступны и могут обслужить запрашиваемое соединение. Рабочий процесс относится к списку доступных рабочих процессов в следующих случаях: ? Для рабочего процесса не достигнуто максимальное количество обслуживаемых информационных баз (свойство рабочего сервера Количество ИБ на процесс). ? Для рабочего процесса не достигнуто максимальное количество обслуживаемых соединений (свойство рабочего сервера Количество соединений на процесс). ? Рабочий процесс не находится в состоянии подготовки к автоматическому перезапуску. ? Из выбранных рабочих процессов предпочтение отдается тем рабочим процессам, которые уже обслуживают соединения информационной базы, соединение с которой необходимо обслужить. Если такого рабочего процесса нет – выбирается рабочий процесс с максимальным количеством обслуживаемых соединений. ? Если не удалось выбрать ни один рабочий процесс, то на данном рабочем сервере запускается новый рабочий процесс, который и будет обслуживать запрошенное соединение. При установке соединения от лица существующего сеанса (если не удалось повторно использовать соединение предыдущего вызова сервера) предпочтение отдается рабочему процессу, который обслуживал предыдущее соединение этого сеанса. При этом возможен выбор другого рабочего процесса, если доступная производительность другого рабочего процесса выше доступной производительности текущего рабочего процесса не менее чем на 25%. Если на одном рабочем сервере в течении 20 минут существуют 2 рабочих процесса, для которых суммарное количество обслуживаемых соединений и различных информационных баз меньше, чем значения, указанные в свойствах рабочего сервера (свойства Количество соединений на процесс и Количество ИБ на процесс), то процесс, который обслуживает меньшее количество соединений, будет помечен как устаревший и будет остановлен после разрыва последнего соединения. Существующим соединениям с «устаревшим» рабочим процессом будет «предложено покинуть» рабочий сервер при ближайшем серверном вызове через данное соединение. При этом «устаревший» рабочий процесс не участвует в распределении запросов на обслуживание новых объектов требований. При подсчете количества обслуживаемых соединений учитываются соединения, которые создаются отладчиком для проверки прав доступа на предмет отладки.
#32 by D_E_S_131
Но как бы тут речь про фоновые задания изначально была, а с ними ничего не сделаешь настройками. Предполагаю, что даже на х64 если и сформируется такое письмо, то ни один "почтовик" его не пропустит. Поэтому только расследовать "чего это за письма у нас такие" остается.
#33 by ХардHard
А я еще в писал %)
#34 by arishkaKlimova
Спасибо, ребята, отправляюсь на поиске злого письма. А что насчёт процессов? Стоит ли вообще ограничивать допустимый объём кластера? Ведь он и так дойдёт до 4гб и дальше не сможет, верно? И что будет, если я поставлю в этой графе 0?
#35 by D_E_S_131
По идее, если поставить ограничение 3000КБ и интервал превышения 2 сек, то создастся автоматом новый процесс, на который будут переключаться клиенты.
#36 by Darly
цитирую совет от 1С, который дали мне (помогло): в свойствах рабочего сервера есть параметры: 1) Максимальный объем памяти рабочих процессов 2) Безопасный расход памяти за один вызов Нулевые значения означают использование параметров по умолчанию, которые соответствуют: 1) Максимальный объем памяти рабочих процессов - 80% наличной оперативной памяти 2) Безопасный расход памяти за 1 вызов - 10% от значения "Максимальный объем памяти рабочих процессов" И в случае если ограничения, используемые по умолчанию не подходят, то можно их изменить или отменить вовсе (поставить значение -1). Поэтому рекомендация следующая, попробовать отменить ограничения на вышеуказанные параметры, т.е. выставить «-1» и проверить снова, как будет выполняться фоновое задание, которое ранее завершалось аварийно.
#37 by arishkaKlimova
Хорошо, такие настройки рабочего сервера я поставила, сейчас буду смотреть. А что делать с настройками локального кластера? Как там оптимально настроить?
#38 by ЧеловекДуши
Ищи лучше Злой Запрос к Составным типам данных :)
#39 by ЧеловекДуши
Оптимально будет, если Сервер приложений 1С будет х64 а не х32 :)
#40 by arishkaKlimova
Поставила я эти "-1" - не помогло. Письма как не шли, так и не идут. 1с безбожно тормозит. Раньше был сервер в два раза слабее, но там и то работал 1с быстрее. Даже не знаю что делать. Есть какие-нибудь ещё предложения?
#41 by arishkaKlimova
Ап
#42 by Jonny_Khomich
Большой объем данных выбираете. А вообще я думаю может это ограничение Windows стандарт. Я у себя на компе делаю кривой запрос, сервер ко мне передаёт данные, но отобразить 1с не может в ТД, когда процесс подходит к 4 гб, валится с нехваткой памяти.
#43 by Поpyчик-4
У нас вопрос решился перебором в отладчике цикла, нахождение проблемного документа, распроведение и проведение его заново. Месяц закрылся. Дело было не в нехватке памяти.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С