Кэш, temp и сеансовые данные 1С: что можно удалить без вреда для базы

· 10 мин

Содержание

На компьютере пользователя 1С 8.3 хранит временные файлы в двух местах: кэш конфигурации лежит в папках с именами-GUID внутри %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8, а рабочие временные файлы платформа пишет в системную папку %TEMP%. На сервере временные данные живут в каталоге кластера srvinfo (по умолчанию C:\Program Files\1cv8\srvinfo) и в папке TEMP учётной записи, под которой запущена служба, обычно USR1CV8.

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

Какие временные файлы 1С бывают и что трогать нельзя

Прежде чем что-то удалять, разделите содержимое папок на три группы: мусор, кэш и служебные данные.

Где лежитЧто внутриМожно удалить?
%APPDATA%\1C\1cv8\<GUID>кэш конфигурации и метаданных базыда, при закрытой 1С
%LOCALAPPDATA%\1C\1cv8\<GUID>кэш конфигурации, промежуточные данные клиентада, при закрытой 1С
%TEMP% пользователявременные файлы отчётов, выгрузок, печатида, кроме занятых процессом
%APPDATA%\1C\1CEStart\ibases.v8iсписок баз в окне запусканет — пропадёт список баз
srvinfo\reg_1541\snccntx*сеансовые данные кластерада, только при остановленной службе
srvinfo\reg_1541\1CV8Clst.lstреестр кластера: базы, серверы, администраторынет, никогда
srvinfo\reg_1541\<GUID базы>\1Cv8Logжурнал регистрации серверной базынет; сокращают средствами 1С
1Cv8.1CD в папке файловой базысама базанет — это ваши данные

💡 GUID — это строка вида 3f2a9c1e-7b4d-4e8a-9c21-5d6e7f8a9b0c. У каждой базы из списка свой GUID, поэтому папок в кэше столько же, сколько баз вы когда-либо открывали. Папки давно удалённых из списка баз тоже остаются и занимают место.

Где лежат временные файлы 1С на компьютере пользователя

Кэш конфигурации

При первом входе платформа скачивает из базы описание конфигурации и складывает его локально. Так следующий запуск идёт быстрее. Если конфигурацию обновили, а кэш «застрял» на старой версии, появляются странности: формы не открываются, команды пропадают, выскакивают ошибки на ровном месте.

Чтобы попасть в папку, вставьте путь в адресную строку Проводника:

  • 📁 %APPDATA%\1C\1cv8 — раскрывается в C:\Users\<имя>\AppData\Roaming\1C\1cv8;
  • 📁 %LOCALAPPDATA%\1C\1cv8 — раскрывается в C:\Users\<имя>\AppData\Local\1C\1cv8;
  • 🐧 на Linux кэш лежит в домашнем каталоге: ~/.1cv8/1C/1cv8.

Если на компьютере когда-то стояла 8.2, рядом будут папки 1cv82. Их можно удалить целиком, если 8.2 больше не используется.

Рабочая папка temp

Во время работы платформа создаёт временные файлы для формирования отчётов, печати, выгрузки в Excel и PDF, обмена с внешними компонентами. Они попадают в %TEMP% (обычно C:\Users\<имя>\AppData\Local\Temp). Файлы самой платформы часто начинаются с v8_ и имеют расширение .tmp.

После аварийного завершения 1С такие файлы не удаляются. За год активной работы бухгалтера в temp может скопиться несколько гигабайт.

Как очистить кэш вручную

  1. Закройте все окна 1С, включая Конфигуратор.
  2. Откройте Диспетчер задач и убедитесь, что нет процессов 1cv8.exe и 1cv8c.exe.
  3. Перейдите в %APPDATA%\1C\1cv8 и удалите папки с именами-GUID. Файлы с расширением .pfl и прочие папки не трогайте.
  4. Повторите то же для %LOCALAPPDATA%\1C\1cv8.
  5. Запустите 1С. Первый вход будет дольше обычного — кэш собирается заново.

Очистка кэша параметром /ClearCache

Если удалять папки неудобно, платформа почистит кэш сама. В окне запуска выделите базу, нажмите Изменить, пройдите до последней страницы и в поле дополнительных параметров запуска впишите /ClearCache. Один раз войдите в базу, затем уберите параметр — иначе кэш будет сбрасываться при каждом входе и запуск станет медленным.

Тот же параметр работает в ярлыке:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /ClearCache

Временные файлы на сервере 1С: srvinfo и temp службы

В клиент-серверном варианте основная часть временных данных живёт на сервере. Место определяет параметр -d в командной строке службы агента. Посмотреть его можно в свойствах службы Агент сервера 1С:Предприятия 8.3 в оснастке «Службы»: поле «Исполняемый файл» содержит строку вида:

"C:\Program Files\1cv8\8.3.24.1548\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"

Внутри srvinfo находится папка reg_1541 (номер совпадает с портом менеджера кластера). В ней:

  • 🗂️ 1CV8Clst.lst — реестр кластера;
  • 🗂️ папки с GUID информационных баз — серверный кэш конфигурации, журнал регистрации 1Cv8Log, индекс полнотекстового поиска;
  • 🗂️ папки snccntx… — сеансовые данные.

Второе место — папка TEMP учётной записи службы. Для стандартной установки это C:\Users\USR1CV8\AppData\Local\Temp. Сюда рабочие процессы rphost.exe пишут файлы при формировании тяжёлых отчётов, выгрузках, загрузке и выгрузке .dt. На Linux каталог кластера по умолчанию — /home/usr1cv8/.1cv8/1C/1cv8.

Если служба запущена от имени системной учётной записи, её temp находится в C:\Windows\Temp. Проверьте вкладку «Вход в систему» в свойствах службы, прежде чем искать файлы в профиле USR1CV8.

Сеансовые данные и временные хранилища кластера

Когда код конфигурации вызывает ПоместитьВоВременноеХранилище(), данные попадают в сеансовые данные. Так передаются, например, файлы при загрузке из клиента, сформированные табличные документы, картинки. Кластер держит сеансовые данные в памяти рабочих процессов и сбрасывает их на диск в папки snccntx….

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

Как почистить сеансовые данные

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

  1. Остановите службу Агент сервера 1С:Предприятия 8.3. Вместе с ней остановятся rmngr.exe и rphost.exe.
  2. В Диспетчере задач проверьте, что процессов ragent, rmngr, rphost не осталось.
  3. Сделайте копию папки reg_1541 — на случай, если удалите лишнее.
  4. Удалите только папки, имена которых начинаются с snccntx.
  5. Запустите службу и войдите в любую базу для проверки.

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

Как не допустить разрастания

В консоли администрирования серверов откройте свойства кластера. Там задаются интервал перезапуска рабочих процессов и допустимый объём памяти. Плановый перезапуск, например раз в сутки ночью, освобождает память и подчищает накопленные данные. Пороги памяти рабочих процессов задаются в свойствах рабочего сервера.

Если диск C: маленький, каталог кластера переносят на другой том. Для этого служба останавливается, папка srvinfo копируется на новый диск, а путь в параметре -d меняется в реестре: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<имя службы>\ImagePath. После запуска убедитесь, что базы видны в консоли.

Файлы блокировок: когда их удаление помогает

Файловая база

Рядом с 1Cv8.1CD во время работы появляются служебные файлы, в том числе временный 1Cv8tmp.1CD. Платформа удаляет их сама, когда последний пользователь выходит. После аварийного выключения компьютера или обрыва сети они остаются, и следующий запуск может выдавать ошибки доступа к базе.

Порядок действий:

  1. Убедитесь, что базу не открыл никто — ни на этом компьютере, ни по сети.
  2. На компьютере, где лежит папка базы, проверьте через «Управление компьютером → Общие папки → Открытые файлы», не держит ли кто-то файлы базы.
  3. Скопируйте папку базы целиком.
  4. Удалите из неё всё, кроме 1Cv8.1CD и папки 1Cv8Log.

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

Серверная база

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

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

Скрипты для автоматической очистки временных файлов

Очистка у пользователя

Этот .cmd удаляет только папки с именами-GUID и временные файлы платформы. Список баз и настройки запуска остаются.

@echo off
rem Запускать от имени пользователя, когда 1С закрыта
tasklist | find /i "1cv8" >nul && (
  echo 1С запущена, очистка отменена
  exit /b 1
)
for /d %%D in ("%APPDATA%\1C\1cv8\*-*-*-*-*") do rd /s /q "%%D"
for /d %%D in ("%LOCALAPPDATA%\1C\1cv8\*-*-*-*-*") do rd /s /q "%%D"
del /q "%TEMP%\v8_*.tmp" 2>nul
echo Кэш 1С очищен

Шаблон *-*-*-*-* совпадает только с именами-GUID, поэтому служебные папки вроде каталога внешних компонент не задеваются. Подключите скрипт как сценарий входа через групповую политику или задачу Планировщика с триггером «При входе в систему». От имени SYSTEM его запускать бессмысленно: переменные %APPDATA% укажут на профиль системы.

Очистка на сервере

PowerShell-скрипт для ночного окна обслуживания. Он останавливает службу, чистит сеансовые данные и старые временные файлы, потом поднимает службу обратно.

# Точное имя службы проверьте командой: Get-Service *1C*
$svc    = '1C:Enterprise 8.3 Server Agent (x86-64)'
$reg    = 'C:\Program Files\1cv8\srvinfo\reg_1541'
$temp   = 'C:\Users\USR1CV8\AppData\Local\Temp'

Stop-Service -Name $svc -Force
Start-Sleep -Seconds 20

Get-ChildItem $reg -Directory -Filter 'snccntx*' |
    Remove-Item -Recurse -Force

Get-ChildItem $temp -File -Recurse -ErrorAction SilentlyContinue |
    Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-7) } |
    Remove-Item -Force -ErrorAction SilentlyContinue

Start-Service -Name $svc

Регистрация в Планировщике на воскресенье в 03:00:

schtasks /Create /TN "1C cleanup" /TR "powershell -ExecutionPolicy Bypass -File C:\Scripts\clean1c.ps1" /SC WEEKLY /D SUN /ST 03:00 /RU SYSTEM

Скрипт останавливает сервер 1С. Перед включением сверьте время задачи с регламентными заданиями, ночными обменами и резервным копированием — иначе они упадут посреди работы.

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

Диск переполнен: как найти, что съело место

Временные файлы — частый, но не единственный виновник. Сначала измерьте, потом удаляйте. Размер крупных папок покажет PowerShell:

Get-ChildItem 'C:\Program Files\1cv8\srvinfo\reg_1541' -Directory |
  ForEach-Object {
    $size = (Get-ChildItem $_.FullName -Recurse -File -ErrorAction SilentlyContinue |
             Measure-Object Length -Sum).Sum
    [pscustomobject]@{ Папка = $_.Name; ГБ = [math]::Round($size / 1GB, 2) }
  } | Sort-Object ГБ -Descending

Что обычно находится:

  • 📈 Журнал регистрации 1Cv8Log. При уровне «Регистрировать все события» он растёт на гигабайты в месяц. Его не удаляют руками, а сокращают: в Конфигураторе Администрирование → Настройка журнала регистрации, там же можно понизить уровень регистрации.
  • 📈 Технологический журнал. Включается файлом logcfg.xml в каталоге conf платформы. Если в нём не задан атрибут history (срок хранения в часах), логи копятся бесконечно. Путь к логам указан в атрибуте location.
  • 📈 Дампы процессов. Если в logcfg.xml включено создание дампов, каждый сбой rphost оставляет файл размером с занятую процессом память — сотни мегабайт и больше.
  • 📈 Temp службы. Остатки выгрузок .dt и тяжёлых отчётов после обрыва сеанса.
  • 📈 Кэш удалённых баз. Папки с GUID баз, которые давно сняты с сервера, но остались в reg_1541. Сверьте GUID со списком баз в консоли, прежде чем удалять.

На сервере с MS SQL проверьте ещё и файлы СУБД: tempdb и журнал транзакций базы при полной модели восстановления без резервного копирования журнала растут без ограничений. К временным файлам 1С это не относится, но место съедают на том же диске.

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

Пропадут ли настройки отчётов и форм после очистки кэша 1С?
Нет. В 8.3 пользовательские настройки хранятся в самой базе, а не в кэше. После очистки сбросится только локальная копия конфигурации.
Как часто нужно чистить временные файлы 1С?
Регулярно — только temp на сервере, например раз в неделю. Кэш клиента чистят при проблемах после обновления или при нехватке места.
Почему после очистки кэша 1С стала запускаться медленнее?
Первый вход после очистки всегда дольше: платформа заново скачивает конфигурацию. Если медленно каждый раз — проверьте, не остался ли в параметрах запуска /ClearCache.
Можно ли удалить всю папку 1C в AppData целиком?
Можно, но вместе с ней пропадёт список баз ibases.v8i и настройки окна запуска. Если удаляете целиком — заранее скопируйте ibases.v8i.
Помогает ли очистка кэша при ошибке «Неизвестная ошибка» на одном компьютере?
Часто да, если на других компьютерах ошибки нет. Это первый безопасный шаг перед переустановкой платформы.