Хранилище кэша конфигурации 1С: откуда берётся ConfigCacheStorage и когда его можно удалять

· 10 мин

Содержание

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

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

Что лежит в кэше конфигурации и зачем он платформе

Конфигурация хранится в самой информационной базе — в файле 1Cv8.1CD для файлового варианта или в таблицах СУБД для серверного. Каждый раз разбирать её целиком при запуске долго. Поэтому платформа один раз готовит рабочее представление и кладёт его на диск. Это и есть кэш конфигурации.

Что обычно попадает в кэш:

  • 📦 описания метаданных: справочники, документы, регистры и их реквизиты;
  • 🧩 подготовленные формы и командный интерфейс;
  • ⚙️ скомпилированные модули, которые клиенту не нужно получать заново;
  • 🔌 данные подключённых расширений.

Принцип простой. При запуске платформа сверяет версию конфигурации в базе с версией в кэше. Совпадает — берёт готовое с диска. Не совпадает — догружает изменения и обновляет кэш.

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

Где искать ConfigCacheStorage

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

ГдеЧто тамДля какой базы
Каталог файловой базы (рядом с 1Cv8.1CD)служебные папки платформы: журнал регистрации 1Cv8Log, индекс полнотекстового поиска, кэшифайловая
%LOCALAPPDATA%\1C\1cv8\ и %APPDATA%\1C\1cv8\папки с именами-идентификаторами баз, в них — клиентский кэш конфигурациифайловая и серверная
Каталог кластера, по умолчанию srvinfo\reg_1541\папки баз по их идентификаторам и сеансовые данные snccntx…серверная

Быстрее всего найти хранилище поиском. Откройте командную строку и выполните:

dir /s /b /a:d "%LOCALAPPDATA%\1C\1cv8\*ConfigCache*"
dir /s /b /a:d "%APPDATA%\1C\1cv8\*ConfigCache*"
dir /s /b /a:d "D:\Bases\Buh\*ConfigCache*"

Последнюю строку поправьте под путь к своей базе. Путь видно в окне запуска 1С: выделите базу в списке, внизу окна отображается строка подключения File="...".

Как понять, какая папка к какой базе относится

Папки в профиле пользователя названы идентификаторами вида a1b2c3d4-…. Соответствие хранится в файле списка баз %APPDATA%\1C\1CEStart\ibases.v8i. Откройте его Блокнотом: у каждой базы есть строка ID= с тем же идентификатором, что и у папки кэша.

Почему хранилище разрастается и как это сказывается на работе

Небольшая база с типовой конфигурацией держит кэш в сотни мегабайт. Типовые БП 3.0, ЗУП 3.1, УТ 11 — объёмные конфигурации, и для них кэш в 1–2 ГБ на одну базу обычен. Проблема начинается, когда объём растёт без остановки.

Основные причины разрастания:

  • 🔄 частые обновления конфигурации — после каждого релиза появляются новые данные, а старые удаляются не всегда сразу;
  • 🧪 разработка в Конфигураторе: десятки сохранений и обновлений конфигурации базы данных за день;
  • 🔌 расширения, которые часто перезаписывают или отключают и включают обратно;
  • 🗂 копии одной и той же базы, развёрнутые в разные каталоги: у каждой свой идентификатор и своя папка кэша;
  • 🧹 удалённые из списка базы — их кэш в профиле пользователя остаётся навсегда;
  • 💥 аварийное завершение 1С при обновлении: кэш остаётся недописанным, и платформа создаёт рядом новый.

Как это влияет на производительность

Сам по себе большой кэш базу не тормозит. Тормозит другое:

  • ⏳ кончается место на диске C: — особенно на терминальном сервере, где у каждого пользователя свой профиль;
  • 🐢 перемещаемые профили Windows копируют %APPDATA% при входе и выходе, и вход в систему растягивается на минуты;
  • 🧯 повреждённый кэш даёт ошибки при запуске, «старые» формы после обновления, вылеты при открытии отдельных объектов;
  • 🔒 антивирус, который проверяет каждый файл кэша при старте 1С, заметно замедляет открытие базы.

На терминальном сервере с 30 пользователями и тремя базами кэш легко занимает 30 × 3 × 1,5 ГБ = 135 ГБ. Это частая причина того, что системный диск «внезапно» заполнился.

Проверка состояния хранилища перед очисткой

Прежде чем удалять, выясните, что именно разрослось и действительно ли дело в кэше.

Шаг 1. Посмотрите размер папок

В PowerShell посчитайте объём каждой папки в профиле:

Get-ChildItem "$env:LOCALAPPDATA\1C\1cv8","$env:APPDATA\1C\1cv8" -Directory |
  ForEach-Object {
    $size = (Get-ChildItem $_.FullName -Recurse -File -ErrorAction SilentlyContinue |
             Measure-Object Length -Sum).Sum
    [pscustomobject]@{ Folder = $_.FullName; SizeMB = [math]::Round($size / 1MB) }
  } | Sort-Object SizeMB -Descending

Сверху окажутся самые тяжёлые папки. Их идентификаторы сравните со строками ID= в ibases.v8i. Папки, для которых базы в списке нет, — кандидаты на удаление в первую очередь.

Шаг 2. Проверьте каталог файловой базы

Откройте каталог базы и посмотрите размеры служебных папок. Журнал регистрации 1Cv8Log и индекс полнотекстового поиска тоже умеют разрастаться до гигабайт. Их не путайте с кэшем:

ПапкаЧто этоМожно ли удалить
ConfigCacheStorage и другие кэшипроизводные данные конфигурациида, при закрытой базе
1Cv8Logжурнал регистрациинет, сокращают средствами 1С
индекс полнотекстового поискаданные для поиска по баземожно пересоздать из 1С
1Cv8.1CDсама базаникогда

Шаг 3. Отделите сбой кэша от сбоя базы

Признаки, что виноват именно кэш:

  • ошибка проявляется у одного пользователя или на одном компьютере, у других база работает;
  • после обновления конфигурации видны старые формы или старые команды;
  • запуск с параметром /ClearCache убирает проблему.

Если ошибка у всех пользователей и на всех компьютерах, дело скорее в самой базе. Тогда очистка кэша не поможет, нужна проверка через Администрирование → Тестирование и исправление в Конфигураторе или утилиту chdbfl.exe из каталога bin платформы.

Диагностика: выберите симптом

Как безопасно очистить кэш конфигурации 1С

Способы идут от безопасного к радикальному. Начинайте с первого.

Способ 1. Запуск с параметром /ClearCache

Самый мягкий вариант: платформа сама сбрасывает клиентский кэш выбранной базы.

  1. Откройте окно запуска 1С.
  2. Выделите базу и нажмите Изменить.
  3. Пройдите до последней страницы мастера, где есть поле Дополнительные параметры запуска.
  4. Впишите /ClearCache и сохраните.
  5. Запустите базу. Первый вход будет дольше обычного.
  6. Уберите параметр, иначе кэш будет сбрасываться при каждом запуске.

То же самое из командной строки:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /ClearCache

Способ 2. Удаление папок кэша в профиле пользователя

Подходит, когда нужно освободить место или /ClearCache не помог.

  1. Попросите пользователя закрыть все окна 1С. Проверьте в диспетчере задач, что не осталось процессов 1cv8.exe и 1cv8c.exe.
  2. Найдите папку базы по идентификатору из ibases.v8i.
  3. Удалите её в %LOCALAPPDATA%\1C\1cv8\ и в %APPDATA%\1C\1cv8\.
  4. Запустите 1С и дождитесь полной загрузки.

Не удаляйте весь каталог %APPDATA%\1C\1cv8\ целиком. Рядом лежат пользовательские настройки клиента, и после такой «чистки» пропадут сохранённые параметры окон и списков.

Способ 3. Очистка ConfigCacheStorage в каталоге файловой базы

Здесь кэш общий для всех, кто работает с базой. Перед очисткой все пользователи должны выйти из базы — открытые сеансы оборвутся с ошибкой, а несохранённые документы пропадут.

  1. Предупредите пользователей и выберите нерабочее время.
  2. Убедитесь, что из базы вышли все: в Конфигураторе откройте Администрирование → Активные пользователи, список должен быть пустым.
  3. Сделайте копию каталога базы целиком или выгрузку .dt через Администрирование → Выгрузить информационную базу.
  4. Не удаляйте, а переименуйте папку кэша, например в ConfigCacheStorage_old.
  5. Запустите 1С под одним пользователем. Платформа создаст новый кэш.
  6. Поработайте день. Если всё в порядке, удалите переименованную папку.

Переименование вместо удаления даёт откат за секунду: вернули имя — вернули прежнее состояние.

Способ 4. Кэш серверной базы

В клиент-серверном варианте серверный кэш и сеансовые данные лежат в каталоге кластера. Чистить его можно только при остановленной службе «Агент сервера 1С:Предприятия», а это значит, что оборвутся сеансы всех пользователей всех баз на этом сервере.

Порядок такой: согласовать окно с администратором и пользователями, остановить службу, перенести папки snccntx… нужной базы в резервный каталог, запустить службу и проверить вход. Каталог srvinfo целиком, файлы реестра кластера 1CV8Clst.lst и 1CV8Reg.lst не трогайте никогда: в них список баз и настройки кластера.

Сравнение способов

СпособКогда применятьРиски
/ClearCacheстарые формы, сбои у одного пользователяпочти нет
Удаление папок в профилемало места, /ClearCache не помогпотеря настроек при удалении лишнего
Кэш в каталоге базысбой у всех пользователей файловой базыобрыв сеансов, нужна копия
Кэш кластерасбои на сервереостановка всех баз сервера

Автоматизация обслуживания файловых баз

Если папки кэша регулярно забивают диск, очистку можно поставить на расписание. Разумная частота — раз в неделю или раз в месяц, ночью.

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

@echo off
rem Очистка клиентского кэша 1С во всех профилях
tasklist /FI "IMAGENAME eq 1cv8.exe" | find /I "1cv8.exe" >nul && exit /b 1
tasklist /FI "IMAGENAME eq 1cv8c.exe" | find /I "1cv8c.exe" >nul && exit /b 1

for /d %%U in ("C:\Users\*") do (
  if exist "%%U\AppData\Local\1C\1cv8" (
    for /d %%D in ("%%U\AppData\Local\1C\1cv8\*-*-*-*-*") do rd /s /q "%%D"
  )
)
echo %date% %time% cache cleared >> C:\Scripts\1c_cache.log

Маска *-*-*-*-* выбирает только папки с именами-идентификаторами баз и не задевает служебные файлы рядом. Скрипт чистит Local, где лежит основной объём, и не трогает Roaming с настройками.

Как поставить на расписание:

  1. Откройте «Планировщик заданий» Windows и создайте задачу.
  2. Триггер — еженедельно, например в воскресенье в 03:00.
  3. Действие — запуск C:\Scripts\clear_1c_cache.bat.
  4. Включите запуск от имени учётной записи с правами администратора и вне зависимости от входа пользователя.

Регламентное задание 1С для этого не подходит: оно работает внутри базы и не может удалять кэш платформы, которым сама база пользуется в этот момент.

Перед запуском очистки по расписанию
Выполнено: 0 / 5

Как не допускать проблем с кэшем

Кэш конфигурации реже ломается и меньше растёт, если соблюдать несколько правил.

  • 🧹 Удаляйте базы из списка вместе с их кэшем. Удалили базу из окна запуска — удалите и её папку в профиле.
  • 🛑 Не закрывайте 1С через диспетчер задач во время обновления конфигурации. Недописанный кэш — главная причина ошибок при следующем запуске.
  • 🧪 Разработку ведите в отдельной копии базы, а не в рабочей. Сотни сохранений в Конфигураторе раздувают кэш именно той базы, где идёт работа.
  • 🛡 Добавьте папки кэша 1С в исключения проверки антивируса при открытии файлов. Сканировать каталог базы целиком всё равно нужно по расписанию.
  • 💾 На терминальном сервере выделите для профилей отдельный диск или настройте ограничение роста профилей средствами Windows.
  • 🔁 После крупного обновления типовой конфигурации разово запустите базу с /ClearCache у тех, у кого появились странности.

Когда чистить кэш не нужно

  • база просто стала медленнее работать с документами — дело в данных, индексах или сервере, а не в кэше;
  • ошибка «Ошибка формата потока» или повреждение базы — это работа для тестирования и исправления;
  • кэш занимает 1–2 ГБ на большую типовую конфигурацию — это нормальный размер, место освободится ненадолго, а запуск у всех станет медленнее.

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

Потеряются ли данные, если удалить ConfigCacheStorage?
Нет. В кэше лежат производные данные конфигурации. Документы, справочники и настройки хранятся в самой базе.
Почему после очистки кэша 1С долго запускается?
Платформа заново готовит данные конфигурации. Первый запуск может идти несколько минут, следующие — с обычной скоростью.
Можно ли перенести кэш на другой диск?
Штатной настройки для этого у клиента 1С нет. Обычно переносят профили пользователей целиком средствами Windows.
Помогает ли очистка кэша при ошибке лицензии?
Нет. Лицензии хранятся отдельно от кэша конфигурации, и сброс кэша на них не влияет.
Нужно ли чистить кэш после каждого обновления конфигурации?
Нет. Платформа сама обновляет кэш при смене версии. Сбрасывать его нужно только при явных сбоях.