Обработка упирается в 2Гб предел по памяти - есть ли выход? #124581


#0 by Dmitriy Kolyasnikov
каминовская книга доходов и расходов обрабатывает полгода и 1С вылетает с сообщением "Out of memory". Смотрел расход памяти - съедаются все отведенные прогам 2Гб, независимо от объема оперативки (всегда получается оперативка + исп.файл подкачки = 2Гб). Пробовал запускать с ключем /3Gb - та же фигня!!!! Поставил 1С на А64-м под XPx64 - та же беда!!!! Даже если ХРх64 выделяет 1С-ке 32-битные адреса памяти, то сама-то она может хавать 64-битные, т.е. 1С-ке должно достаться 4 гига, и почему с ключем /3Gb упирается в 2 Гига памяти? ниче не понимаю... ЗЫ. В ситуациях, когда .dbf вырастает до 2-х гиг, 1С ругается на то, что не может записать в файл, кроме того, при этом в оперативке еще может быть дофига напихано, так что сейчас не тот случай.
#1 by ДенисЧ
Может, дело в том, что 1с не знает о 64bit? Как написали под 32, так и работает...
#2 by Парижская фанера
Много данных + кривая обработка?
#3 by Морозов Александр
Ваша камина скорей всего в темпах создает (Таблицы значений) ДБФ и как тока он достигает 2ГБ 1С затыкается... Фича у нее такая
#4 by romix
Сталкивался с похожей проблемой в другой обработке - в коде забывали обнулять переменную, которая росла и занимала всю доступную память. После исправления ошибки все стало летать.
#5 by Фокусник
Для любой задачи хватит 640К... (с)BG
#6 by Иде я
Видел аналогичную  обработку - там вместо строк  - столбцы в цикле в ТЗ создавали. Выжирала всю память...
#7 by Dmitriy Kolyasnikov
Господа! спасибо всем за ответы, но: я замерял именно использованную в системе память, оперативку + файл подкачки, и именно она достигала 2 Гб. с dbf 2 Гб я уже обломался когда "Предприниматель" пробовал :) ,, у меня нет сомнений в корректности работы каминовского кода, а объем данных действительно чудовищный!!!! ______________________________________________ небольшой ликбез (вдруг кто не в теме, но подаст свежую идею) 32-битная машина может адресовать 2^32 бит памяти, т.е. 4'294'967'296 бит или 4 Гига. Винда делит это виртуальное пространство адресуемой памяти пополам, половину себе, половину программам. Вот в этот порог и упирается каминовская обработка :( Именно поэтому сейчас на арену выходят 64-битные процессоры, и в первую очередь в серверном секторе. Прирост скорости в 15-20 процентов тут никого абсолютно не интересует, а упереться в потолок 2Гб - сегодня это более чем реально. еще с 2000 винды есть ключ /3Gb, который ставится в файле boot.ini и делит пространство не пополам, а 3 к 1 в пользу программ. С этим ключем почему-то опять все уперлось в потолок 2Гб. Мне достоверно известно что 2003 Entherprise понимает /3Gb (на 2003 и пробовал этот ключ). Возможно кроме /3Gb можно и нужно еще что-то урезать? SystemPTE? Дык ить все равно возьмет столько, сколько нужно :) Кто-нить работал с Advanced Server? Насколько я помню, там каким-то образом мутится адресное пространство в 8 Гиг при 32 битах (подозреваю, что там есть файл подкачки файла подкачки, в котором прописано для какого именно процесса выделена память :) ) Есть ли надежда на адвансед сервер?
#8 by Иде я
Сервер Windows Server 2003 Datacenter Edition разработан специально для удовлетворения потребностей бизнеса в высокой масштабируемости, доступности и надежности и позволяет создавать экстраординарные решения для баз данных, программное обеспечение для планирования ресурсов на предприятии, осуществлять высокоскоростную интерактивную обработку транзакций и консолидацию серверов. Операционная система Windows Server 2003 Datacenter Edition поддерживает новейшие аппаратные средства и программное обеспечение, имеет 32-разряднуюи 64-разрядную версии и обладает максимальной гибкостью и масштабируемостью. Она предоставляет компаниям все преимущества высокопродуктивной инфраструктуры, оптимизированной для запуска наиболее ресурсоемких приложений и служб. Отличия Главное отличие от версии Windows Server 2003 Enterprise Edition: поддержка более мощной многопроцессорной обработки и большего объема памяти. Помимо этого, сервер Windows Server 2003 Datacenter Edition распространяется только по программе Windows Datacenter Program, в рамках которой компания Microsoft и авторизованные поставщики серверов, такие как производители оборудования (OEM), предоставляют интегрированные решения для программного обеспечения, аппаратных средств и служб. Windows Server 2003 Enterprise Datacenter на высоком уровне обеспечивает поддержку следующих возможностей:    * 32-потоковая симметричная многопроцессорная обработка (SMP);    * восьмиузловая кластеризация;    * 64 ГБ ОЗУв 32-разрядной версии и 128 ГБ ОЗУв 64-разрядном версии.
#9 by Иде я
Операционная система Windows® 2000 Datacenter Server, новый продукт семейства Windows 2000 Server, представляет значительный интерес для организаций как в качестве традиционного центра данных серверной среды, используемой бизнес–приложениями, так и для новых Интернет–решений типа бизнес–бизнес и бизнес–потребитель. Более того, Windows 2000 Datacenter Server является платформой для приложений завтрашнего дня, основанных на технологии .NET, которым потребуется еще более высокий уровень масштабируемости и надежности, строгое соблюдение таких основных стандартов, как XML, и поддержка такого программного обеспечения, как веб–службы. Корпорация Майкрософт совместно с ведущими поставщиками компьютерных систем участвует в программе Windows Datacenter Program. Эта программа дополняет операционную систему пакетом комплексной проверки оборудования, службой поддержки корпоративного класса и обеспечивает сертификацию приложений. Windows 2000 Datacenter Server содержит дополнительные компоненты с широкими функциональными возможностями. ВозможностиWindows 2000 Datacenter Server содержит все компоненты и обладает всеми функциями семейства операционных систем Windows Server. Помимо этого, предусмотрены следующие возможности. Средства повышения надежности    * Восстановление после отказа на основе 4–узловой кластеризации, гарантирующее высокую доступность.    * Распределение серверных ресурсов при помощи средства Process Control Tool. Возможности масштабирования    * Поддержка симметричной мультипроцессорной обработки с использованием 32 процессоров.    * Поддержка до 64 ГБ оперативной памяти.    * Средство WinSock Direct, улучшающее взаимодействие при использовании архитектуры SAN (System Area Network). Программа Windows Datacenter Program    * Полная проверка решений с использованием теста совместимости оборудования HCT (Datacenter Hardware Compatibility Test).    * Интегрированная поддержка оборудования и программного обеспечения с использованием Joint Support Queue.    * Систематическое обновление системы при помощи Change Management Services.    * Сертификация приложений Datacenter с использованием теста Veritest. /
#10 by Dmitriy Kolyasnikov
Оказалось все просто до смешного: есть список значений, в этом списке значений хранятся таблицы, не таблицы значений, а объекты "Таблица" !!!! и в них потихоньку все пихается, а в конце всем таблицам из списка делается "Показать". ну и я в процедуре, которая выводит итог по месяцу, в конце добавил (названия переменных вымышленные :) ): и усе. расход памяти - 600 метров (даже не свопится), объем dbf-ок в temp-е около 6 метров :)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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