Чистка кэша 1С: где лежат временные файлы и как их удалить безопасно
Содержание
Чтобы почистить кэш
конфигурации 1С, закройте все окна программы и удалите папки с длинными именами из букв и цифр внутри %LOCALAPPDATA%\1C\1cv8 и %APPDATA%\1C\1cv8. Базу и данные это не затрагивает: при следующем запуске платформа пересоздаст кэш сама.
Частое заблуждение: «кэш нужно чистить регулярно, и станет быстрее». Нет. Кэш как раз ускоряет запуск. Чистить его стоит, когда есть конкретный симптом: после обновления конфигурация ведёт себя так, будто изменений нет, форма не открывается, висят старые данные или пользовательская папка выросла до десятков гигабайт.
Зачем платформа хранит кэш и когда он начинает мешать
1С держит на диске пользователя копии того, что дорого загружать каждый раз: описание метаданных, формы, настройки интерфейса, результаты клиент-серверных обращений. Благодаря этому тонкий клиент открывается за секунды, а не за минуты.
Проблемы начинаются, когда кэш и реальная конфигурация расходятся. Типичные причины:
- 🔄 обновление конфигурации прошло, а у пользователя остались данные старой версии;
- 💥 аварийное завершение 1С или перезагрузка компьютера в момент записи;
- 📦 на рабочем месте открыто много баз: у каждой своя папка, и со временем они копятся;
- 🧩 подключали и снимали расширения, менялись внешние обработки и отчёты;
- 💾 на диске C: почти не осталось места.
Признаки, что пора чистить:
- Ошибка при открытии формы, хотя у соседа та же форма работает.
- После обновления в справочнике нет нового реквизита, а у других пользователей он есть.
- Сообщения вроде «Ошибка при вызове метода контекста» без понятной причины.
- Запуск занимает заметно дольше, чем раньше, а база при этом небольшая.
- Папка
1cv8в профиле пользователя занимает много гигабайт.
Если тормозит у всех пользователей одновременно, виноват не кэш на рабочих местах. Смотрите сервер, блокировки, размер базы и индексы.
Подготовка: что проверить до удаления
Удаление кэша безопасно для данных, но неприятно, если сделать его на ходу. Минимальный порядок:
- Попросите пользователя сохранить работу и закрыть 1С полностью. Проверьте диспетчер задач: не должно остаться процессов
1cv8.exeи1cv8c.exe. - Если чистите несколько машин, начните с одной и убедитесь, что симптом ушёл.
- На всякий случай переименуйте папку вместо удаления:
1cv8в1cv8_old. Если что-то пойдёт не так, вернёте обратно.
Не удаляйте папки самой базы и файл 1Cv8.1CD. Это не кэш, а данные. Рядом с ним в файловой базе лежат каталоги журнала регистрации и полнотекстового индекса: их тоже не трогайте при «чистке кэша».
Где лежит кэш конфигурации на компьютере пользователя
В Windows платформа использует два каталога профиля. Вставьте адрес в строку проводника, переменные подставятся сами.
| Что | Адрес | Что внутри |
|---|---|---|
| Локальный кэш | %LOCALAPPDATA%\1C\1cv8 | Кэш метаданных и форм, подпапки с идентификаторами баз |
| Данные роуминга | %APPDATA%\1C\1cv8 | Пользовательские настройки платформы, часть кэша |
| Временные файлы | %TEMP% | Файлы вида v8_*.tmp и временные каталоги сеанса |
Внутри каталогов лежат папки, имена которых состоят из букв и цифр через дефисы. Одна папка соответствует одной базе или одной версии конфигурации. Именно их и удаляют.
Если вы не уверены, какая папка к какой базе относится, удалите все. Платформа пересоздаст нужные при следующем входе, просто первый запуск каждой базы пройдёт медленнее.
Список баз в окне запуска (файл ibases.v8i) хранится отдельно и в эти папки не входит. Но если вы удаляете весь каталог профиля 1С, а не только вложенные папки с идентификаторами, проверьте, что список баз не пропал.
Ручная чистка в файловой базе: по шагам
Этот способ подходит и для файловой, и для клиент-серверной базы, потому что кэш лежит на клиенте, а не рядом с данными.
Шаг 1. Закрыть платформу
Завершите сеансы 1С. Если окно зависло, снимите задачу 1cv8.exe в диспетчере задач.
Шаг 2. Открыть каталог кэша
Нажмите Win+R, введите %LOCALAPPDATA%\1C\1cv8 и нажмите Enter. Сделайте то же самое для %APPDATA%\1C\1cv8.
Шаг 3. Удалить вложенные папки
Выделите папки с длинными идентификаторами и удалите их. Файлы настроек, которые лежат рядом, можно оставить: на скорость они почти не влияют.
Если Windows пишет «файл занят другим процессом», значит, 1С ещё работает. Проверьте процессы или перезагрузите компьютер и повторите.
Шаг 4. Запустить базу
Первый вход будет дольше обычного: платформа заново считывает конфигурацию. Это нормально. Если база клиент-серверная и большая, подождите до пары минут.
Шаг 5. Проверить результат
Откройте ту форму или обработку, где была проблема. Если ошибка осталась, кэш не причина. Переходите к проверке самой конфигурации: нет ли незавершённого обновления, не отключено ли расширение.
Какой способ выбрать
| Способ | Когда подходит | Риски |
|---|---|---|
| Ручное удаление папок | Один-два компьютера, разовая проблема | Можно удалить лишнее, если ошиблись каталогом |
Ключ /ClearCache в ярлыке | Проблема повторяется у конкретного пользователя | Не очищает каталог профиля целиком |
| Bat-скрипт | Много рабочих мест, массовое обновление | Принудительно закрывает 1С, неверный путь опасен |
Чистка snccntx* на сервере | Раздувшиеся рабочие процессы, сбои сеансов | Нужна остановка службы и остановка работы всех |
Начинайте с самого мягкого способа и переходите к следующему, только если симптом остался. Сервер трогайте в последнюю очередь: остановка службы бьёт по всем пользователям сразу.
Временные файлы Windows
Отдельно от кэша 1С копятся временные файлы в %TEMP%. Если папка выросла до нескольких гигабайт, после закрытия 1С удалите файлы с именами v8_* и *.tmp. Системные файлы, которые Windows не даёт удалить, пропустите: они заняты другими программами.
Пример по размерам. Допустим, у бухгалтера открыто 12 баз, и в профиле накопилось по 400 МБ на каждую. Это 12 × 400 = 4800 МБ, то есть около 4,7 ГБ. На маленьком SSD такой объём уже заметен, и чистка вернёт его сразу.
Очистка кэша из командной строки и скриптом
Для администратора, у которого десятки рабочих мест, ручная чистка неудобна. Есть два пути.
Ключ запуска /ClearCache
Платформа понимает параметр /ClearCache в строке запуска. Он сбрасывает кэш клиент-серверных вызовов при старте. Пример для ярлыка:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" ENTERPRISE /S "сервер\база" /ClearCache
Номер версии подставьте свой: он в имени каталога платформы. Ключ удобно добавить в отдельный ярлык «1С с очисткой кэша» и выдавать его тем, у кого проблемы повторяются. Ключ не удаляет всё содержимое каталога профиля, поэтому для полной чистки пригодится скрипт.
Bat-файл для полной чистки
Сохраните в файл с расширением .bat и запускайте при закрытой 1С:
@echo off
taskkill /f /im 1cv8.exe >nul 2>&1
taskkill /f /im 1cv8c.exe >nul 2>&1
for /d %%i in ("%LOCALAPPDATA%\1C\1cv8\*") do rd /s /q "%%i"
for /d %%i in ("%APPDATA%\1C\1cv8\*") do rd /s /q "%%i"
echo Готово
pause
Скрипт принудительно завершает 1С, поэтому предупредите пользователей. Запуск делайте под их учётной записью: у каждого профиля своя папка кэша. Через групповые политики такой файл можно повесить на вход в систему, но делайте это только для проблемных групп, а не для всех.
Если в скрипте ошиблись в пути и сработал rd /s /q на каталог выше, потеряете чужие данные. Сначала запустите с echo вместо rd, посмотрите список и только потом включайте удаление.
Особенности клиент-серверного варианта и сервера 1С
На пользовательских машинах всё то же самое: кэш клиента не зависит от того, где лежит база. Но у сервера 1С есть собственный кэш, и здесь осторожность нужна гораздо выше.
В каталоге данных кластера (по умолчанию в srvinfo, внутри папки вида reg_1541) создаются подпапки с именами snccntx. Это контексты сеансов и серверный кэш. Когда рабочие процессы зависают или разрастаются, их чистят.
Порядок для Windows:
- Предупредите пользователей и дождитесь завершения сеансов. Работа в базах остановится.
- Остановите службу «Агент сервера 1С:Предприятия».
- Убедитесь, что процессы
ragent,rmngr,rphostзавершены. - Удалите содержимое папок
snccntx*в каталоге кластера. - Запустите службу.
То же на Linux: остановите службу, очистите каталог кластера (обычно в домашнем каталоге пользователя usr1cv8) и запустите службу заново. Клиентский кэш в Linux лежит в ~/.1cv8/1C/1cv8.
Не удаляйте файлы реестра кластера (1CV8Clst.lst и другие служебные файлы рядом). Потеряете настройки кластера и список баз.
Если нужно только освободить рабочие процессы, часто хватает штатного перезапуска процессов в консоли администрирования: он не требует остановки всей службы.
%LOCALAPPDATA%\1C\1cv8 и %APPDATA%\1C\1cv8. Сервер не трогайте.snccntx* в нерабочее время. Заодно проверьте настройки перезапуска рабочих процессов.Профилактика: как не чистить кэш каждую неделю
Если приходится чистить регулярно, значит где-то есть системная причина. Что стоит сделать:
- 🧹 Обновлять конфигурацию целиком и в нерабочее время. Тогда у пользователей не остаётся старых версий.
- 💽 Следить за местом на диске C:. Когда свободно меньше нескольких гигабайт, кэш пишется с ошибками.
- 🔌 Не выключать компьютер кнопкой при открытой 1С. Аварийное завершение портит записи кэша.
- 🗑️ Убрать из списка баз ненужные. Каждая старая база оставляет после себя папку.
- 🖥️ Использовать тонкий клиент вместо толстого там, где это возможно: он меньше нагружает локальный диск.
- ⏱️ Раз в квартал чистить кэш на рабочих местах, где одновременно открыто много баз.
Размер кэша можно оценить сразу: щёлкните папку 1cv8 правой кнопкой и откройте «Свойства». Если там сотни мегабайт, нормально. Если десятки гигабайт, разберитесь, какая база и какие обработки его раздувают.
На терминальном сервере кэш каждого пользователя лежит в его профиле. Если профили перемещаемые, огромная папка 1cv8 будет замедлять вход в систему. Исключите %LOCALAPPDATA%\1C из перемещаемого профиля.
Что не нужно делать, когда «подчищаете» 1С
Несколько действий, которые выглядят как чистка, но вредят:
- ❌ Удалять каталог самой базы или файл
1Cv8.1CDво имя «освободить место». - ❌ Чистить
snccntx*при работающей службе сервера: возможны сбои сеансов и повреждение служебных данных. - ❌ Ставить «оптимизаторы» и «чистильщики реестра» и разрешать им удалять всё, что они найдут в каталоге 1С.
- ❌ Удалять журнал регистрации под видом кэша. Он нужен для разбора инцидентов.
Если после чистки кэша ничего не изменилось, значит причина другая. Проверьте версию платформы и релиз конфигурации, статус обновления, расширения и права пользователя. Нет ли в журнале регистрации ошибок в момент сбоя.