Временные файлы и кэш 1С 8.3: пути в Windows и Linux, очистка и перенос
Содержание
Временные файлы 1С 8.3 лежат в папке %TEMP% пользователя Windows, а кэш конфигурации и списков баз — в %LOCALAPPDATA%\1C\1cv8 и %APPDATA%\1C\1cv8. На Linux это /tmp и каталог ~/.1cv8 в домашней папке. У сервера 1С свои каталоги: кластер хранится в srvinfo.
Где хранится временный файл 1С, зависит от того, кто его создал: клиентское приложение, сервер или код конфигурации. Ниже — адрес каждой папки, безопасный порядок очистки, перенос на другой диск и готовые скрипты для автоматизации.
Какие временные файлы создаёт 1С и зачем
Платформа складывает на диск четыре разных вида данных. Смешивать их нельзя: одни удаляются без последствий, другие — нет.
| Что это | Где лежит (клиент, Windows) | Можно удалять |
|---|---|---|
Временные файлы платформы (v8_*.tmp) | %TEMP% | Да, когда 1С закрыта |
| Кэш конфигурации и форм | %LOCALAPPDATA%\1C\1cv8\<GUID> | Да, перестроится при запуске |
| Список баз, настройки окон | %APPDATA%\1C\1cv8 | Осторожно: потеряете список баз |
| Файлы, созданные кодом конфигурации | %TEMP% или своя папка | Зависит от процесса |
Откуда берётся мусор:
- 📄 выгрузка отчёта в Excel или PDF перед открытием;
- 🖨 подготовка печатной формы;
- 📎 вложения и присоединённые файлы, открытые «на просмотр»;
- 🔄 обмены, загрузка банковских выписок, работа с XML;
- 💥 аварийное закрытие 1С — тогда временный файл не удаляется.
Пока 1С не закрыта, часть файлов занята процессом. Если удалять «вслепую» при работающем клиенте, Windows выдаст отказ в доступе — это нормально, такие файлы пропустите.
Пути к временным файлам 1С в Windows
Клиент и толстый клиент
Точный адрес папки для вашего пользователя покажет командная строка:
echo %TEMP%
echo %LOCALAPPDATA%
echo %APPDATA%
Типичный результат на Windows 10 и 11:
C:\Users\Иванов\AppData\Local\Temp— временные файлы;C:\Users\Иванов\AppData\Local\1C\1cv8— кэш, внутри папки с именами-GUID;C:\Users\Иванов\AppData\Roaming\1C\1cv8— список базibases.v8iи настройки.
Папка AppData скрыта. Откройте проводник, введите в адресную строку %LOCALAPPDATA%\1C\1cv8 и нажмите Enter — скрытые папки включать не нужно.
Файл ibases.v8i в %APPDATA%\1C\1cv8 хранит список баз из окна запуска. Его не чистят. Если удалили случайно, список придётся собирать заново.
Сервер 1С на Windows
У серверного процесса два адреса, которые важно не путать:
- 🗂 каталог кластера (
srvinfo) — по умолчанию внутри папки установки платформы, напримерC:\Program Files\1cv8\srvinfo. Там лежат реестр кластера, служебные данные сеансов и журналы регистрации. Это не временные файлы, вручную в нём ничего не удаляют; - 🗑 TEMP пользователя, под которым запущена служба. Обычно это
USR1CV8. Файлы серверных вызовов оседают в его временной папке.
Проверить, под кем работает служба: services.msc → служба «Агент сервера 1С:Предприятия 8.3» → вкладка «Вход в систему».
Какие файлы создаёт сам код
Разработчик получает путь командой КаталогВременныхФайлов(), а новое имя — функцией ПолучитьИмяВременногоФайла(). Оба обращаются к тому же %TEMP%. Поэтому «лишние» файлы бывают не только v8_*.tmp, но и документы с понятными названиями, которые оставил обработчик обмена.
Где искать временные файлы 1С на Linux
На Linux всё проще и строже по правам. Сначала посмотрите, что лежит в системной временной папке:
ls -lh /tmp | grep -i v8
echo $TMPDIR
Основные адреса:
| Компонент | Путь |
|---|---|
| Клиент, кэш и настройки | ~/.1cv8/1C/1cv8 |
| Клиент, список баз | ~/.1C/1cv8/ibases.v8i |
| Временные файлы | /tmp или значение $TMPDIR |
Кластер сервера (пользователь usr1cv8) | /home/usr1cv8/.1cv8/1C/1cv8 |
Для серверных процессов домашняя папка — /home/usr1cv8. Если запускали под другим пользователем, смотрите его ~. Путь кластера задан параметром запуска ragent (ключ -d), в штатной установке он лежит в домашней папке usr1cv8.
На сервере не чистите каталог кластера руками «на всякий случай». Потеря служебных файлов реестра кластера означает пересоздание кластера и перерегистрацию баз.
Как понять, что пора чистить
Не всякий тормоз лечится очисткой. Три признака, что причина именно в кэше и временных файлах:
- 🐢 после обновления конфигурации форма открывается по-старому: нет новых полей, кнопки на прежних местах;
- 💽 свободного места на диске C: меньше 5 ГБ, а сама база лежит на другом диске;
- 📂 папка
%TEMP%весит несколько гигабайт, в ней сотни файловv8_*.tmp.
Быстрая проверка размера в PowerShell:
"{0:N0} МБ" -f ((Get-ChildItem $env:TEMP -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum / 1MB)
"{0:N0} МБ" -f ((Get-ChildItem "$env:LOCALAPPDATA\1C\1cv8" -Recurse -Force -ErrorAction SilentlyContinue | Measure-Object Length -Sum).Sum / 1MB)
Первая строка покажет объём временной папки, вторая — кэша 1С. Если оба числа в пределах нескольких сотен мегабайт, ищите причину торможения в другом месте: в блокировках, индексах СУБД или нехватке памяти на сервере.
Для обычного рабочего места нормальный размер кэша 1С — от 100 МБ до 1–2 ГБ. Сильно больше бывает у тех, кто часто открывает много разных баз.
Как удалить временные файлы 1С безопасно
Порядок от самого мягкого способа к самому жёсткому.
Способ 1. Параметр /ClearCache
Самый безопасный вариант: платформа сама сбросит кэш при запуске.
- Закройте все окна 1С.
- Откройте командную строку.
- Запустите клиент с ключом:
"C:\Program Files\1cv8\8.3.25.1445\bin\1cv8.exe" ENTERPRISE /ClearCache
Номер версии в пути подставьте свой — посмотрите в папке C:\Program Files\1cv8.
То же самое можно сделать без командной строки. В окне запуска выберите базу → «Изменить» → «Далее» → в поле «Дополнительные параметры запуска» впишите /ClearCache → один раз запустите → ключ удалите.
Способ 2. Ручная очистка кэша
- Закройте 1С полностью (проверьте диспетчер задач: нет процессов
1cv8.exe,1cv8c.exe). - Откройте
%LOCALAPPDATA%\1C\1cv8. - Удалите вложенные папки с именами вида
a1b2c3d4-0000-1111-2222-333344445555. - Файлы и
ibases.v8iне трогайте. - Запустите 1С — кэш построится заново, первый вход будет чуть дольше.
Способ 3. Очистка %TEMP%
Удалять нужно только то, что оставила 1С:
del /q /f "%TEMP%\v8_*.tmp"
Остальные файлы в %TEMP% принадлежат другим программам. Чистить всю папку можно, но только при закрытых приложениях.
Какой способ выбрать
/ClearCache или удаление GUID-папок в %LOCALAPPDATA%\1C\1cv8.%TEMP% и файлов v8_*.tmp. Если не помогло — смотрите размер папки кэша и каталога журналов сервера.%TEMP%. Если место есть — переопределите TEMP на другой диск.Перенос временных файлов на другой диск
Если системный диск маленький, а данных много, временные файлы удобнее вынести на отдельный раздел. Платформа берёт путь из переменной окружения, поэтому переносить нужно именно её.
Клиент в Windows
- Создайте папку, например
D:\Temp1C. Win + R→sysdm.cpl→ «Дополнительно» → «Переменные среды».- В блоке «Переменные среды пользователя» измените
TEMPиTMPнаD:\Temp1C. - Перезайдите в Windows.
Из командной строки то же самое делает:
setx TEMP "D:\Temp1C"
setx TMP "D:\Temp1C"
Изменится путь для всех программ этого пользователя, а не только для 1С. Если нужно только для одной базы, запускайте клиент через .bat-файл с set TEMP=D:\Temp1C перед командой запуска.
Служба сервера 1С
Переменная должна относиться к пользователю, под которым запущена служба (USR1CV8) — либо быть системной. После изменения перезапустите службу:
net stop "1C:Enterprise 8.3 Server Agent (x86-64)"
net start "1C:Enterprise 8.3 Server Agent (x86-64)"
Точное имя службы смотрите в services.msc: оно зависит от версии платформы.
Linux
Для сессии:
export TMPDIR=/data/tmp1c
mkdir -p "$TMPDIR"
Для серверного агента строку TMPDIR добавляют в окружение службы (файл юнита systemd или файл настроек запуска) и перезапускают агент.
Новый каталог должен существовать и быть доступен на запись пользователю, под которым работает 1С. Иначе клиент не сможет открыть даже отчёт.
Автоматическая очистка по расписанию
Раз в неделю чистить руками никто не будет. Проще задать задачу один раз.
Windows: bat-файл и планировщик
Сохраните как clear1c.bat:
@echo off
tasklist | find /i "1cv8" >nul
if %errorlevel%==0 exit /b
del /q /f "%TEMP%\v8_*.tmp" 2>nul
for /d %%i in ("%LOCALAPPDATA%\1C\1cv8\????????-????-????-????-????????????") do rd /s /q "%%i"
Первые две строки пропускают очистку, если 1С запущена. Шаблон ????????-????-… отбирает только папки-GUID, а ibases.v8i остаётся на месте.
Регистрация задачи на запуск при входе пользователя:
schtasks /create /tn "Clear1C" /tr "C:\Scripts\clear1c.bat" /sc onlogon
Запуск именно при входе удобен: в этот момент 1С точно закрыта.
Linux: cron
Удаляем файлы платформы старше трёх суток:
find /tmp -maxdepth 1 -name 'v8_*' -mtime +3 -delete
Строка для crontab -e, запуск каждую ночь в 03:20:
20 3 * * * find /tmp -maxdepth 1 -name 'v8_*' -mtime +3 -delete
Сначала прогоните команду без -delete и посмотрите список. Лишние совпадения лучше увидеть до удаления.
Чистка средствами самой платформы
Для файлов, которые создаёт ваш код (выгрузки, обмены), правильнее удалять их в том же обработчике: УдалитьФайлы(ИмяФайла) после использования. Тогда мусор не копится ни при каких настройках планировщика.
Типичные ошибки при чистке временных файлов
Здесь собраны ошибки, которые встречаются чаще всего. Описание совпадает с тем, что видит пользователь.
ibases.v8i из %APPDATA%\1C\1cv8. Добавьте базы заново кнопкой «Добавить» или восстановите файл из резервной копии профиля.%TEMP% от других программ. Для нахождения «пожирателей» откройте свойства папок по очереди и сравните размеры.1cv8.exe, повторите. Если файл не отпускает, перезагрузитесь.srvinfo — не кэш. Верните из резервной копии или пересоздайте кластер и заново подключите базы.Как не допускать накопления
- 🗓 включите автоочистку один раз и забудьте про неё;
- 💾 держите на системном диске запас от 15–20 ГБ;
- ❌ не выключайте компьютер кнопкой питания при открытой 1С — аварийный выход оставляет «хвосты»;
- 👥 на терминальном сервере чистите
%TEMP%каждого пользователя или включите политику очистки временных папок при выходе из сеанса; - 🧪 после обновления платформы сбрасывайте кэш клиента, чтобы не тянуть старые формы.
Частые вопросы
Можно ли удалить папку Temp целиком?
Что будет, если удалить кэш 1С?
Где хранятся временные файлы 1С на терминальном сервере?
%TEMP% и %LOCALAPPDATA%\1C\1cv8. Размер умножается на число пользователей, поэтому очистку настраивают на уровне сервера.Влияет ли очистка кэша на файловую базу?
1Cv8.1CD в своей папке. Кэш и временные файлы лежат отдельно и к самой базе отношения не имеют.Как узнать, сколько места занимает кэш 1С?
%LOCALAPPDATA%\1C\1cv8 и посмотрите размер. В Linux — du -sh ~/.1cv8.