При выполнении типовых административных процедур — обновлении конфигурации, сравнении/объединении метаданных или запуске тестирования и исправления (ТИИ) информационной базы — конфигуратор может аварийно завершать работу с сообщением «Недостаточно памяти для получения результата запроса к базе данных» или «Недостаточно свободной памяти на сервере 1С:Предприятие». Рассмотрим подробнее, почему возникает данная ситуация в клиент-серверном варианте работы и как по шагам восстановить стабильную работу системы.
Основная причина появления этой ошибки кроется в архитектурных ограничениях и потреблении ресурсов:
rphost. В 32-разрядной архитектуре один процесс сервера 1С не может адресовать более 2–3 ГБ виртуальной памяти независимо от общего объема установленной оперативной памяти на сервере. В процессе реструктуризации таблиц или проверки логической целостности метаданные считываются большими массивами, что приводит к фрагментации адресного пространства и падению процесса.ConfigSave могут остаться поврежденные или незавершенные версии метаданных.Если обновление необходимо выполнить срочно, а перенастройка рабочего сервера требует времени, применим проверенный обходной путь:
.dt) через меню Администрирование — Выгрузить информационную базу..dt..dt и выполним загрузку в клиент-серверную базу данных.Для предотвращения переполнения памяти рабочими процессами на 32-разрядном сервере 1С настроим политику управления ресурсами в консоли администрирования кластера:
1500000–2000000 КБ), чтобы процесс rphost перезапускался до момента критического исчерпания памяти.20–30 секунд).86400 секунд, то есть раз в сутки).rphost.Проанализируем состояние базы данных со стороны СУБД и выполним регламентные процедуры обслуживания:
pgAdmin или консольный клиент psql и выполним полное обновление статистики и очистку базы:
VACUUM FULL ANALYZE;
REINDEX DATABASE "имя_базы";
postgresql.conf. Параметр work_mem не должен быть чрезмерно завышен (оптимальное значение для серверов с 16 ГБ ОЗУ составляет от 32MB до 64MB), так как он выделяется под каждую операцию сортировки внутри узлов запроса.ragent) и очистим временную таблицу конфигурации в СУБД:
TRUNCATE TABLE "configsave";
Разберем действия по стабилизации операционной системы сервера:
1C:Enterprise Server Agent.srvinfo) и удалим временные каталоги сеансов вида snacc*, не затрагивая конфигурационные файлы кластера (1CV8Clst.lst, 1cv8wsrv.lst).%LOCALAPPDATA%\1C\1cv8 и %APPDATA%\1C\1cv8.При интерактивном запуске Конфигуратора графическая подсистема сравнения и объединения потребляет значительный объем памяти. Выполним операцию через командную строку без вызова графических форм:
"C:\Program Files (x86)\1cv8\8.3.9.2033\bin\1cv8.exe" DESIGNER /S "ИмяСервера\ИмяБазы" /N "Администратор" /P "Пароль" /UpdateDBCfg
/IBCheckAndRepair:
"C:\Program Files (x86)\1cv8\8.3.9.2033\bin\1cv8.exe" DESIGNER /S "ИмяСервера\ИмяБазы" /N "Администратор" /P "Пароль" /IBCheckAndRepair -LogIntegrity -RebuildIndexes
В долгосрочной перспективе наиболее надежным решением для исключения ошибок нехватки памяти является переход на 64-разрядный сервер 1С:Предприятие и обновление платформы до актуальных стабильных релизов.