При обновлении крупных конфигураций (таких как 1С:Управление производственным предприятием 1.3, 1С:ERP или 1С:Комплексная автоматизация) разработчики и администраторы нередко сталкиваются с аварийным завершением работы Конфигуратора или сообщениями о недостатке памяти. Разберем основные причины такого поведения платформы, проанализируем алгоритм быстрой локализации проблемы и рассмотрим эффективные варианты её устранения.
Выясним причину сбоя: при сравнении и объединении масштабных метаданных платформа выстраивает в оперативной памяти полное дерево объектов текущей конфигурации, конфигурации базы данных и конфигурации поставщика. В 32-разрядном клиенте процесс 1cv8.exe ограничен адресным пространством в 2 ГБ, что при накоплении кэша или тяжелых макетов неминуемо приводит к исчерпанию доступной виртуальной памяти.
Самой частой причиной внезапных сбоев при обновлении является повреждение или переполнение локального кэша конфигурации. Разберем по шагам порядок действий:
%APPDATA%\1C\1Cv8\
%LOCALAPPDATA%\1C\1Cv8\Если конфигурация до сих пор работает на платформе 8.2 (например, 8.2.19.130), естественным ограничением становится отсутствие полноценного 64-битного толстого клиента под Windows и несовместимость со встроенными механизмами современных ОС. Рассмотрим переход на платформу 8.3 в режиме совместимости:
Версия 8.2.13 или Версия 8.2.16. Это позволит конфигурации УПП 1.3 работать в штатном режиме без переписывания кода под управляемые формы.В случае необходимости возврата базы на платформу 8.2 (при условии, что режим совместимости не отключался и не использовались расширения) достаточно выгрузить информационную базу в файл .dt под платформой 8.3 и загрузить её в пустую базу на сервере 8.2.
Если переход на платформу 8.3 временно невозможен, расширим доступный объем виртуальной памяти для 32-разрядного процесса 1cv8.exe средствами операционной системы. Рассмотрим инструкцию:
cmd.exe от имени администратора.
bcdedit /set increaseuserva 3072
LARGEADDRESSAWARE в заголовке исполняемого файла 1cv8.exe с помощью системной утилиты editbin:
editbin.exe /LARGEADDRESSAWARE "C:\Program Files (x86)\1cv82\8.2.19.130\bin\1cv8.exe"
Проанализируем альтернативный вариант применения файла обновления без загрузки тяжелого визуального интерфейса сравнения и объединения конфигураций. В пакетном режиме Конфигуратор потребляет в несколько раз меньше памяти:
"C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" DESIGNER /F "D:\Bases\UPP" /N "Admin" /P "Password" /UpdateCfg "D:\Updates\1cv8.cfu" /UpdateDBCfg
"C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" DESIGNER /S "Server1C\UPP_Base" /N "Admin" /P "Password" /UpdateCfg "D:\Updates\1cv8.cfu" /UpdateDBCfg
/UpdateCfg можно использовать прямое объединение или загрузку полного файла .cf требуемого релиза.Если ошибка возникает на конкретном шаге сравнения больших двоичных данных (например, сложных графических макетов или драйверов оборудования, встроенных в конфигурацию):