К статье
Практический материал

Администрирование · 8 мин

Ошибка «Недостаточно памяти» в 1С: причины и способы исправления

Разбираем ошибку «Недостаточно памяти» в 1С: причины на клиенте и сервере, настройка файла подкачки, очистка кэша, оптимизация отчётов и обработок.

Ошибка «Недостаточно памяти» в 1С появляется при формировании больших отчётов, загрузке объёмных файлов, обновлении конфигурации или массовой обработке данных. Её причина почти всегда одна из трёх: процессу платформы не хватает оперативной памяти, исчерпан файл подкачки, либо запрос в коде пытается выгрузить в память слишком большой объём данных за один раз.

Важно сразу определить, где именно возникает ошибка: на клиентском компьютере, на сервере 1С или на стороне СУБД. От этого зависит порядок действий. Одно и то же сообщение может означать переполнение памяти у процесса rphost на сервере, у клиентского приложения 1cv8.exe или даже у SQL-сервера при выполнении тяжёлого запроса.

Как определить, где именно не хватает памяти

Первый шаг — локализация. Если ошибка возникает у одного пользователя на его компьютере, а у коллег тот же отчёт строится нормально, проблема на клиентской машине: мало ОЗУ, маленький файл подкачки или повреждённый кэш. Если ошибка массовая и возникает у всех — смотрите сервер.

Полезный признак — момент появления ошибки. Сбой в начале формирования отчёта часто указывает на тяжёлый запрос к базе. Сбой через несколько минут работы, когда индикатор почти дошёл до конца, обычно означает, что результат запроса выгружается в память целиком — например, через «Выгрузить()» большой таблицы значений.

Ошибка у одного пользователяПроблема на клиенте

Проверьте объём ОЗУ, файл подкачки и очистите кэш 1С на этом компьютере

Ошибка у всех пользователейПроблема на сервере

Смотрите загрузку rphost, настройки кластера и логи технологического журнала

Сбой при выгрузке большого файлаПереполнение памяти процессом

Разбейте выгрузку на части или используйте потоковую запись

Ошибка при обновлении конфигурацииНехватка памяти при реструктуризации

Увеличьте файл подкачки и выполняйте обновление на машине с запасом ОЗУ

Увеличение файла подкачки и проверка оперативной памяти

Файл подкачки Windows компенсирует нехватку физической памяти. Если он отключён или ограничен, 1С при пиковой нагрузке завершается с ошибкой даже на машине с приличным объёмом ОЗУ. Откройте «Система» → «Дополнительные параметры системы» → «Быстродействие» → «Дополнительно» → «Виртуальная память» и задайте размер файла подкачки вручную.

Практическая рекомендация: установите исходный и максимальный размер равными объёму ОЗУ или в полтора-два раза больше, если диск позволяет. После изменения перезагрузите компьютер. Заодно проверьте свободное место на системном диске — при заполненном диске файл подкачки не сможет расширяться, и ошибка вернётся.

Если на компьютере установлено 4 ГБ ОЗУ и меньше, никакие настройки не решат проблему полностью: современные конфигурации 1С с тонким клиентом и браузером легко занимают несколько гигабайт. В этом случае реальный выход — увеличение оперативной памяти.

Порядок действий на клиентском компьютере
  1. 1
    Проверьте свободное место на системном диске — оставьте запас под файл подкачки
  2. 2
    Откройте настройки виртуальной памяти и задайте фиксированный размер файла подкачки
  3. 3
    Перезагрузите компьютер
  4. 4
    Очистите кэш 1С: удалите папки базы в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 при закрытой программе
  5. 5
    Запустите 1С и повторите операцию, вызвавшую ошибку
  6. 6
    Если ошибка повторяется — проверьте объём ОЗУ и нагрузку других программ через диспетчер задач

Очистка кэша 1С

Кэш 1С хранит временные файлы метаданных и данных сеанса. При его повреждении или чрезмерном разрастании возможны не только ошибки памяти, но и странное поведение интерфейса. Очистка кэша — безопасная операция: при следующем запуске платформа создаст файлы заново.

Закройте 1С, затем удалите папки, соответствующие проблемной базе, в каталогах %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Папки названы по идентификаторам баз, поэтому проще удалить все — кэш пересоздастся автоматически. Альтернатива — удалить базу из списка в стартовом окне и добавить заново, что также сбрасывает часть кэшированных данных.

Настройка сервера 1С при клиент-серверном режиме

В клиент-серверной архитектуре основную память потребляют рабочие процессы rphost. Если один процесс обслуживает слишком много сеансов, он разрастается и падает с ошибкой памяти, унося с собой сеансы пользователей. Решение — ограничить объём памяти на процесс и количество соединений.

В консоли кластера серверов 1С откройте свойства рабочего сервера и настройте параметры: допустимый объём памяти процессов, интервал перезапуска рабочих процессов и количество информационных баз на процесс. Регулярный перезапуск rphost освобождает накопленную память и снижает риск сбоев. Также проверьте, что на сервере достаточно физической памяти с учётом одновременной работы СУБД и сервера 1С — они конкурируют за ресурс.

Оптимизация отчётов и обработок

Значительная часть ошибок памяти — следствие того, как написан или используется код. Классические причины: выгрузка результата запроса в таблицу значений целиком, построение отчёта без отборов за большой период, загрузка большого файла в строку или двоичные данные одним куском.

Что можно сделать без программирования: задавайте отборы и ограничивайте период в отчётах, разбивайте массовые обработки на порции, выгружайте данные частями. Если ошибка возникает в типовом отчёте при разумных отборах — проблема, скорее всего, в ресурсах, а не в данных.

Если есть доступ к конфигуратору, проверьте проблемные места: замените «Выгрузить()» на обход выборки запроса, используйте потоковую запись файлов вместо чтения целиком в память, убирайте вложенные циклы с накоплением данных в соответствиях и массивах.

Типичные ошибки
01
Строить отчёт за год без отборов — результат не помещается в память; ограничьте период или добавьте отбор
02
Отключать файл подкачки «для ускорения» — при пиковой нагрузке 1С падает с ошибкой памяти
03
Игнорировать заполненность диска — файл подкачки не расширяется, ошибка возвращается
04
Выгружать весь результат запроса через Выгрузить() вместо обхода выборки — память переполняется на больших таблицах
05
Менять настройки кластера в рабочее время — сеансы пользователей обрываются с потерей несохранённых данных

Резервные варианты и проверка результата

Если перечисленные меры не помогли, рассмотрите альтернативы. Для файловой базы — перенос на клиент-серверный вариант, где тяжёлые операции выполняет сервер с большим объёмом памяти. Для клиент-серверной — вынос тяжёлых операций в фоновые задания с ограничением объёма за один запуск или выполнение обработки в нерабочее время.

Проверять результат нужно на той же операции, что вызывала ошибку: сформируйте тот же отчёт с теми же параметрами, запустите ту же обработку. Параллельно наблюдайте за потреблением памяти в диспетчере задач или мониторинге сервера — рост до предела и сброс говорят о том, что проблема не решена, а лишь отложена.

Контрольные точки

Как проверить результат

Формирование проблемного отчёта
Норма

Отчёт строится до конца без ошибки

Тревожный признак

Ошибка повторяется на том же этапе

Потребление памяти процессом
Норма

Рост плавный, без достижения предела

Тревожный признак

Память быстро растёт до максимума, затем сбой

Файл подкачки после перезагрузки
Норма

Заданный размер сохранился, диск не заполнен

Тревожный признак

Настройки сброшены или диск переполнен

Работа других пользователей
Норма

Ошибка не воспроизводится ни у кого

Тревожный признак

Сбои продолжаются у части пользователей

Итог

Что важно запомнить

Сначала локализуйте проблему: клиент или сервер. На клиенте помогают файл подкачки, очистка кэша и добавление ОЗУ. На сервере — настройка рабочих процессов и перезапуск rphost. В коде — отказ от выгрузки больших объёмов в память целиком. Перед изменениями на сервере делайте резервную копию и работайте вне рабочего времени.

Частые вопросы

Почему ошибка возникает только у одного пользователя?

Значит, проблема в его компьютере: меньше ОЗУ, отключён или ограничен файл подкачки, повреждён кэш 1С либо параллельно запущены ресурсоёмкие программы. Сравните конфигурацию его машины с теми, где ошибки нет, и начните с очистки кэша и настройки виртуальной памяти.

Помогает ли переустановка платформы 1С?

Как правило, нет: ошибка памяти связана с ресурсами и объёмом данных, а не с повреждением файлов платформы. Переустановка оправдана только если есть признаки повреждения самой платформы — например, ошибки возникают в любых базах при любых действиях.

Сколько памяти нужно для комфортной работы в 1С?

Точная цифра зависит от конфигурации и объёма данных. Для клиентского компьютера ориентируйтесь на 8 ГБ ОЗУ и выше, для сервера — на сумму потребностей СУБД, сервера 1С и запас под пиковые нагрузки. Наблюдение за реальным потреблением через диспетчер задач или мониторинг точнее любых общих рекомендаций.

Можно ли исправить ошибку без администратора?

Часть мер доступна обычному пользователю: ограничить период и отборы в отчёте, закрыть лишние программы, перезапустить 1С. Настройка файла подкачки, очистка кэша и тем более работа с сервером требуют прав администратора и базовых навыков.

Ошибка появляется при обновлении конфигурации — что делать?

Реструктуризация при обновлении требовательна к памяти. Выполняйте обновление на машине с запасом ОЗУ и увеличенным файлом подкачки, закройте все сеансы пользователей. Для больших баз обновление лучше проводить на сервере или выделенном компьютере, предварительно сняв резервную копию.