Орион про недостаточно памяти

Обновлено: 04.07.2024

Был у меня случай, пришел клиент, говорит, при закрытии месяца вылетает ошибка "Недостаточно памяти". Взялся я за эту проблему. Думал, что легко, сначала добавил оперативки - ошибка. Было 2 гигабайта, стало 4, а все равно 1с-ке мало. Размер файла подкачки менял - ошибка, переустановка системы (поставил Windows 7) дало только временный результат, где-то на неделю. Перепробовал все. Спустя некоторое время решение было найдено.

Решение

На клиентском компе запустить командную строку от имени администратора, прописать там следующее:

BCDEdit /set increaseuserva xxxx - вместо хххх пишите объем виртуального адресного пространства в мегабайтах, т.е. сколько нужно памяти под работу приложений. По умолчанию 2 гига. Вообще в 32-разрядных операционных системах выделяется 4 гигабайта: 2 - на приложения и 2 на нужды самой ОС. Я выбрал 3000 (т.е. CDEdit /set increaseuserva 3000). Однако система может подглючивать. Особенно, если у вас 2 гига оперативки, как у меня. Это для ОС семейства Windows Vista, 7, Windows 2008.

Для Windows XP \ Windows 2003 пишем
/3GB /userva=xxxx (xxxx в МБ в диапазоне 2048 - 3072) в файле boot.ini, рекомендуемый максимум значений userva 2900–3030.

Вот и все. Надеюсь, эта статья будет вам полезна. А вот и ссылки, откуда я все это узнал, где можно посмотреть более подробную информацию:

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Как может помочь 64 винда, если клиент 1С 32? 64 поможет сейчас только в linux и только на 8.3 (там клиент тоже есть 64).

Реальное решение только одно - перенос логики расчета на сервер 1С 64.

Поговаривают, что 64 разрядный клиент есть и под Windows, но это надо ооочень хорошо попросить у 1С =)))

(2) pumbaE, в 64-битных ОС нет ограничения виртуальной памяти (2 гигабайта). Поэтому 1с может спокойно работать. Хотя, если честно, первый раз сталкиваюсь с тем, что приложение съедает более 2 гигов виртуалки. Обычно хватает не более 1 гига. А что еще более удивило, что эта проблема не только у 1С, тот же автокад тоже "грешен". noxomb; Cat-Ek; Dmitri93; Gotcha; quNas; frost_a; kulkrise; bulpi; + 8 – 1 Ответить (7) pumbaE, что ж, значит не тот случай. У меня прошло все успешно. Опять таки статья описывает мой опыт, как мне удалось. Конечно есть вероятность, что у других не пойдет. (7) pumbaE, про хомячков как точно то подмечено, очень понравилось :D Мне помогала просто установка размера файла подкачки в "Определяется операционной системой" (3) Alex_E, пытался, но к сожалению не проканало. Вот и пришлось мудрить ).

>Как правильно заметили выше - уносите логику на сервер, там такой беды нет.

Да ничерта это не "правильно заметили". Правильно заметили - это эксперимент с отчетом, описанный вывше. С полгода назад проводил такой же эксперимент. Клиент-серверный режим, типовая УТ 11. Делаем любой типовой отчет с извратными настройками за большой период. ОК, логика перенесена на сервер, клиент простаивает. Вроде бы все хорошо, ну это пока сервер не начнет передавать клиенту все, что он там насчитал. Итого на клиенте та же самая ошибка с нехваткой памяти. Тонкий клиент, отжирающий 2Гб оперативной памяти - ну я даже и не знаю, что сказать.

Так что только 64-битный клиент спасет Отца русской демократии.

У Меня при выгрузке номенклатуре в WINDows 7 64 bit с 8 гагами такая ошибка выкидывает

ИМХО - нужно оптимизировать код.
Иначе, через пару недель/месяцев, снова встретите эту ошибку.

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

В случае живой и растущей базой, увеличение доступной памяти до 3Гб - временное решение.

(12) Alex_IT, в принципе вы правы, нужно контролировать размер базы, делать свертку и т.д. Тогда все будет в "шоколаде". Данный способ, который описан в этой статье, предназначен для быстрого решения проблемы, когда нет времени на оптимизацию базы, кода. Поговаривают, что 64 разрядный клиент есть и под Windows, но это надо ооочень хорошо попросить у 1С =))) Скоро опять вспухнет, вопрос времени. Свертка базы или сервер 1С, но так хочется верить что скоро будет 64-битный клиент :) Для 7.7 подходит? (в случае выгрузки xml большого размера - обработки падают, ссылаясь на нехватку оперативки). (17) zzzz5555, честно, не экспериментировал над 1с 7.7. Какая именно ошибка вылетает? Можете поподробнее ее описать. а мне не помогло ничего, при формировании отчета после съедания 1,5 гб памяти падает. Хотя всего 8, и настроики уже сделал в винде чтоб выделять приложениям Ребят, помогайте, не могу разобраться.
Есть база бухгалтерии 8.2 2.0, вес в файловом 16гб., железо 1 Xeon 3430, 24гб оперативы, дискового свободно около 1Тб, файл подкачки был 24гб, поставил 50гб, винда 2008 сервер, 64-разрядный энтерпрайз, формирую отчет книгу предпринимателя выпадает в ошибку "Недостаточно памяти" после 3 870 000 кб по дспетчеру, всё перепробовал - разные релизы платформы, даже на 8.3 переводил, поставил sql2008, та же песня, вылетает именно платформа, как вариант поставить х64 платформу 8.3, но нигде не могу найти такую.

(20) stei, 16 гигов файловая база? - ах..еть. Конечно надо на клиент-серверный вариант переносить. Ну а далее провести диагностикку базы - тестирование, исправление и прочее, свертку базы. Кстати, ты говоришь, что поставил sql2008. Он 64-разрядный? Если ось 64разр, то и желательно , чтобы все приложения были из этой серии. По поводу оперативки - она вся задействуется? Или только часть ее? Просто в виндах есть такая штука, впроде поставил столько-то, а она визически не может видеть больше. Как я понимаю мой метод вряд-ли тут подойдет, т.к. у тебя винда 64-разрядная. Хотя, если терять нечего, стоит попробовать. По поводу обращения в компанию 1С с этой проблемой, сразу говорю - бесполезно, хоть ты им по почте пришли комп с базой на борту, они никак не помогут. Есть конечно вариант открыть базу через конфигуратор и через отладчик прогнать всю эту процедуру. Может на какой-нибудь строки и "запинается". В общем подведу итоги:

P.S: А вообще я уже забил на эту 1С. Устал бороться с темным лесом бухгалтерии и глючности программы. Если честно - не жалею, что отошел от 1С )).

(21) (22) Ta_Da, (23) jsuh, Винда 64-разрядная, скула соответственно тоже, всё дело в клиенте, именно то, что он 32-разрядный не дает ему кушать больше 4гб оперативы, как вывод - ошибка.
Обрезка не вариант, то, что можно было уже срезали, реализаций очень много просто на предприятии.
Отчет стандартный, переписать конечно можно, но это время, да и как клиенту объяснить, мол, простите, стандартные отчеты, которые пишет 1с не катят ))) Вообще странно, не думаю, что ситуация у нас прям такая уникальная.
База изначально и крутится на скуле, в файловый вариант перевел только для тестов, соответственно проверки чекдбф-ом и "тестирование и исправление" делал, не один раз.
Выход пока нашел, поставил 8.3 платформу, после танцев с бубном в файловом варианте формирование отчета прошло нормально, но всё равно это только полумера, нужно на скулу обратно. Как вариант 64-битный клиент 8.3, говорят, что есть такой в природе, если есть у кого - поделитесь )) (24) stei, дык я вам и пишу про то что клиентское приложение 32 битное.
Про сервер я упоминал в плане "обрабатывать все данные на сервере, на клиент передавать только готовую таблицу". Изврат возможно, но может сработать. (24) stei, по-идее релиз 1с 8.3 64-битный должен быть на официальном сайте в свободном доступе (разумеется только для тех, у кого оформлен договор ИТС). Если там нет, то можно узнать об этом в службе поддержки. На других сайтах, я думаю, лучше не искать. Если на офсайте нет, то на других - подавно. (20) stei, у вас 32ух битное клиентское приложение (толстый клиент). Больше 4 гигов оперативки оно не может "съесть".
Тут либо переход на сервер 64x (с вероятным переписыванием отчета) либо просто переписывание отчета, чтобы данные обрабатывались кусками. (20) stei, 1) попробуй срезать базу, уж очень она огромная. На сколько я помню, таблицы регистров в файловом варианте не должны превышать 2Гб. Если хоть одна таблица переваливает за этуу отметку срочно или реж базу. или переходи на клиент-сервер. Спасибо друг) Долго я мучился с этой ошибкой, даже отчет пришлось переделать.

Привожу и свой пример.

Была у меня аналогичная ошибка с проведением "закрытии месяца". Конфигурация ИМПУЛЬС-ИВЦ "Подрядчик строительства" 8.2.

Перепробовал все варианты, хорошо еще было время - бухгалтерия терпела.

Пишу в поддержку 1С они отвечают - виновата фирма ИМПУЛЬС-ИВЦ. Пишу в ИМПУЛЬС-ИВЦ их ответ - виновата платформа 1С. Отфутболили.

Тоже зависает, когда база разрастается выше 3 гб, но 4гб - это предел уже. Размер базы посмотрите в папке ORIONBASE/MSDE20** . Сегодня запустил так: после "Обновить базу данных в оперативной задаче" пошла зеленая полоска - остановилась, через диспетчер задач, в процессах - завершил LockDown"Находящиеся на объекте", все прогрузилось нормально.

а так может "подвиснуть" на 3 - 15 минут, вроде ничего не происходит, но после все равно, сама по себе запустится.

Vlad_ru писал(а): зависает, когда база разрастается выше 3 гб, но 4гб Так может базу чистить и оптимизировать надо? Я имею ввиду логи хотя бы, для себя мы определились, что хранить логи старше 3-4 месяцев не имеет смысла. И база резко после очистки худеет где-то раз в 10-15 :) DmitryK , я бы сказал в 20 раз)
Там же можно настраивать чистку журналов по расписанию. DmitryK писал(а): Так может базу чистить и оптимизировать надо? Я имею ввиду логи хотя бы Svin писал(а): Там же можно настраивать чистку журналов по расписанию
К сожалению, удаление данных журнала не подходит. Журнал тревог-Журнал статистики- Лог Транзакций, совсем мало очищают объем базы. А именно Журнал событий - часто нужны маршруты движения. Арендаторы все разные, где жесткий контроль за сотрудниками, где мягкий. Приходится поднимать маршруты с 2012-13-14 года до настоящего времени. И "живет" у нас база до следующей модернизации 7-8 месяцев. Мне проще так старые все на подставной комп загружать и с них отчеты делать. Vlad_ru писал(а): Приходится поднимать маршруты с 2012-13-14 года Фига-се, чё так жОстко? Даже бухгалтерские документы, если не ошибаюсь, хранят 5 лет.
Я свою чищу, стараюсь, раз в год. google писал(а): Фига-се, чё так жОстко? Даже бухгалтерские документы Сотрудники с компаниями судиться чаще стали наверное. Ходил ли он(она) на работу, опаздывал ли. Или наоборот - человек работал (ходил на работу), а компания не заплатила, в суде всякие мелочи пригодиться могут. Vlad_ru писал(а): К сожалению, удаление данных журнала не подходит. Журнал тревог-Журнал статистики- Лог Транзакций, совсем мало очищают объем базы. А именно Журнал событий - часто нужны маршруты движения. Арендаторы все разные, где жесткий контроль за сотрудниками, где мягкий. Приходится поднимать маршруты с 2012-13-14 года до настоящего времени.

Вы арендодатель? Разбаловали вы арендаторов. У нас ответ такой - если арендатору надо, пожалуйста, делайте на арендованной территории свою систему и следите за кем хотите. В каких-то ситуациях можем помочь - но не более того, сроки хранения видеонаблюдения месяц-полтора, СКУД 2-3 месяца, такие мол технические возможности системы.
Ну а если вы в договорах обязались предоставлять такую информацию - то это повод перелопатить договора и новые заключать уже без этой бодяги и излишне взятых на себя обязательствах.

Касательно темы вопроса - попробуйте сделать на копии базы полную чистку всех логов (ну оставьте месяца два) и оптимизацию, запустите и понаблюдайте за поведением. Если всё будет нормально - значит это оно. Может, вам поставить отдельный шустрый SSD и на него перетащить базу, да плюс оперативной памяти добавить в сервер?

DmitryK писал(а): Вы арендодатель? Разбаловали вы арендаторов

Управляющая компания, прямой представитель владельцев трех зданий бизнес центров в СПб, руководство "нормальное", идем на уступки и хотелки арендаторов, их много.
Движение людей - постоянное, круглосуточное, события проходов это ужос, все время кто-то куда-то ходит, . Два Сервера на Core i7 с 24 Гб оперативной памяти, в железе нет сомнений, но надо будет просить пару SSD, может выручат, стоят черные WD Вестерн Диджитал.

Чистка логов не помогает, базу заполняют в основном только события, тревоги и логи это минимум.

Что сижу в выходной, опять 25, переход ввода с основного на резерв, мы на одном из корпусов БП с TV на сервер Ориона поставили - результат, сервер вылетел, с кнопки диспетчер включал, и загружался Орион сейчас после загрузки Винды всего лишь 12 с чем то минуток, база сейчас 3,2 Гб.

Vlad_ru писал(а): Движение людей - постоянное, круглосуточное, события проходов это ужос, все время кто-то куда-то ходит

Кто бы сомневался :) Ну надо так надо.

Возможно вы туда уже копали, но всё таки: SQL у вас какой версии? Полноценный или Express? Если Express - покупайте полноценный SQL Standart. Как вариант перед покупкой и если у вас SQL Express старенький - установить и потестировать максимально свежий SQL Express (База до 10Гб против 4 в старых версиях, а так-же ограничения на размер ОЗУ, которую можно использовать, и процессорных ядер тоже. Но всё равно это не надолго, и если у вас объёмы будут - только SQL Standart 64 бита).

Далее, ssd это конечно хорошо, попробовать никогда не помешает, но возможно вам придётся на аппаратном контроллере создавать на основе нескольких ssd полноценный RAID (10?). SSD соответственно выбирать серверного уровня. И бэкапы на другие диски/сервера.

Нагрузку на ОЗУ и процессор в процессе загрузки и работы помониторить тоже не помешает. Ну и IOPSы, само собой.

PS: Правда, если нагрузка ОЗУ и процессора упирается в ограничения SQL Express - то помониторить простыми методами наверное не получится :)

После покупки SSD, и установки на него ноябрьской версии ОрионПро 1.20.3 с 17 декабря полет нормальный. Заметно все работает быстрее, отчеты по компаниям (много народу) без проблем, обновить БД в оперативной задаче - или сразу быстро, или не более 3х минут. Но пока что и база не так сильно выросла. На одном сервере 2 гб, другой 2,5 гб. Посмотрим, что будет после 4 гб. За февраль скоро отчеты делать - проверю.

Читайте также: