Кэш 1С 8.3 на клиенте, сервере и в терминале: где искать и как чистить
Содержание
Кэш 1С 8.3 хранится в профиле пользователя: в Windows это C:\Users\<имя>\AppData\Local\1C\1cv8 и C:\Users\<имя>\AppData\Roaming\1C\1cv8, в Linux — скрытая папка ~/.1cv8/1C/1cv8. В клиент-серверном варианте есть второй уровень кэша — на сервере 1С, в каталоге кластера srvinfo\reg_1541.
Где именно искать, зависит от схемы работы. В файловом режиме хватает чистки папок профиля. В клиент-серверном иногда нужно чистить и клиента, и сервер. На терминальном сервере кэш лежит в профиле каждого сотрудника отдельно, и временные файлы 1С там копятся быстрее всего.
Где лежит кэш 1С 8.3 в Windows при работе с файловой базой
Временные файлы 1С никогда не хранятся рядом с самой базой (файлом 1Cv8.1CD) и в Program Files. Они всегда привязаны к учётной записи Windows. Папок две:
| Папка | Путь через переменную | Полный путь |
|---|---|---|
| Локальная (Local) | %LOCALAPPDATA%\1C\1cv8 | C:\Users\<имя>\AppData\Local\1C\1cv8 |
| Перемещаемая (Roaming) | %APPDATA%\1C\1cv8 | C:\Users\<имя>\AppData\Roaming\1C\1cv8 |
В локальной папке платформа держит кэш метаданных конфигурации. Именно он разрастается до сотен мегабайт и чаще всего «залипает» после обновления. В перемещаемой лежат локальные настройки клиента для каждой базы.
Внутри обеих папок — подкаталоги с именами вида a3c5e1f2-7b4d-4e19-9f2a-0c6d8e1b5a77. Каждый соответствует одной базе из списка запуска.
Папка AppData скрыта, поэтому проще открыть её так:
- Нажмите
Win+R. - Вставьте
%LOCALAPPDATA%\1C\1cv8и нажмите Enter. - Повторите для
%APPDATA%\1C\1cv8.
Как понять, какая папка относится к нужной базе
Имя папки кэша совпадает с идентификатором базы в списке запуска. Список хранится в файле %APPDATA%\1C\1CEStart\ibases.v8i.
- Откройте
ibases.v8iв Блокноте. - Найдите блок с названием базы в квадратных скобках, например
[Бухгалтерия ООО Ромашка]. - Строка
ID=в этом блоке и есть имя папки кэша.
Так можно почистить кэш одной проблемной базы, не трогая остальные.
Если удалить базу из списка запуска и добавить заново, она получит новый ID. Старая папка кэша останется на диске мусором — её можно удалить вручную.
Что лежит рядом и чего трогать нельзя
- 📄
ibases.v8iи папка1CEStart— список ваших баз. Удалите — список придётся собирать заново. - 📄 Файлы
*.pflв корне1cv8— общие настройки клиента. Удалять их ради «чистки кэша» не нужно. - 🔑
C:\ProgramData\1C\licenses— файлы программных лицензий. Эту папку не трогайте ни при какой чистке: без лицензии платформа просто не запустит базу.
Кэш в клиент-серверном варианте: клиент и сервер 1С
В клиент-серверной схеме база живёт в СУБД (MS SQL Server или PostgreSQL), но кэш хранится не в СУБД. Он есть в двух местах.
Кэш на компьютере пользователя
Те же папки %LOCALAPPDATA%\1C\1cv8 и %APPDATA%\1C\1cv8, что и в файловом режиме. Тонкий клиент кэширует там метаданные и формы, чтобы не тянуть их с сервера при каждом запуске.
Кэш на сервере 1С
Сервер хранит данные кластера в каталоге srvinfo. Где он лежит, задаёт параметр -d в строке запуска службы «Агент сервера 1С:Предприятия 8.3». Типичные варианты:
- 🗂
C:\Program Files\1cv8\srvinfo— установка службы по умолчанию; - 🗂
C:\Users\USR1CV8\AppData\Local\1C\1cv8— встречается на старых установках, где каталог не задавали явно.
Точный путь видно в свойствах службы: services.msc → служба агента сервера → поле «Исполняемый файл». После ключа -d указан каталог.
Внутри srvinfo есть папка reg_1541 (по номеру порта менеджера кластера). Что в ней:
| Объект | Что это | Можно ли чистить |
|---|---|---|
Папки snccntx… | Сеансовые данные и кэш контекста | Да, при остановленной службе |
| Папки с GUID баз | Служебные данные базы на сервере | Только выборочно, см. ниже |
Папка 1Cv8Log внутри папки базы | Журнал регистрации базы | Нет — это журнал регистрации |
Файлы *.lst | Реестр кластера: список баз, серверов, администраторов | Нет |
Удаление 1CV8Clst.lst стирает регистрацию всех баз в кластере. Восстанавливать его придётся из резервной копии или регистрировать базы заново.
Кэш 1С 8.3 на терминальном сервере (RDP)
На терминальном сервере каждый сотрудник входит под своей учётной записью. Значит, у каждого свой кэш в C:\Users\<имя>\AppData\.... При 30 пользователях и пяти базах на каждого это 150 папок кэша. Если каждая весит по 200–300 МБ, набегает 30–45 ГБ на системном диске.
Особенности терминальной схемы:
- 👥 Чистить кэш нужно в профиле конкретного пользователя, у которого проблема, а не у администратора.
- 🔄 Если включены перемещаемые профили или перенаправление папок,
Roamingможет лежать на файловом сервере. Тогда перемещаемая часть кэша путешествует по сети при каждом входе — это замедляет вход в систему. - 💾 Локальная часть (
Local) в перемещаемый профиль не входит. Поэтому разросшийся кэш метаданных обычно сидит прямо на диске терминального сервера. - 🧹 Временные файлы
v8_*.tmpкопятся в%TEMP%каждого пользователя. Это остатки выгрузок, печатных форм и обменов, которые не удалились после аварийного закрытия.
Если используете профили FSLogix или аналогичные контейнеры профилей, кэш 1С живёт внутри контейнера. Его размер растёт вместе с кэшем, поэтому плановую чистку стоит делать до того, как контейнер упрётся в лимит.
Где хранится кэш 1С в Linux и macOS
Клиент в Linux
У Linux-клиента кэш лежит в домашнем каталоге пользователя:
- 🐧
~/.1cv8/1C/1cv8/— кэш баз, те же GUID-папки, что и в Windows; - 🐧
~/.1C/1cestart/ibases.v8i— список баз (там же ищитеID=для сопоставления).
Обе папки начинаются с точки, поэтому скрыты. В терминале их видно командой ls -la ~.
Сервер 1С в Linux
Сервер по умолчанию работает от пользователя usr1cv8. Каталог кластера при стандартной установке:
/home/usr1cv8/.1cv8/1C/1cv8/reg_1541
Если каталог переопределён, смотрите параметр -d в unit-файле службы. Имя службы зависит от версии платформы, найти его можно так:
systemctl list-units --type=service | grep -i 1cv8
macOS
Клиент для macOS тоже кладёт кэш в домашний каталог пользователя, в скрытые папки ~/.1cv8 и ~/.1C. В Finder их показывает сочетание Cmd+Shift+.. Структура внутри та же: по папке на базу с GUID в имени.
Как очистить кэш 1С 8.3: вручную, параметром запуска и скриптом
Перед любым способом закройте 1С у этого пользователя полностью, включая Конфигуратор. Файлы кэша открытого сеанса заблокированы, и чистка пройдёт частично.
| Способ | Когда выбирать | Что затрагивает |
|---|---|---|
| Удалить папки вручную | Разовая проблема у одного пользователя | Кэш выбранных баз в профиле |
Параметр /ClearCache | Пользователь сам не может зайти в AppData | Кэш одной базы при запуске |
| Скрипт BAT или PowerShell | Терминальный сервер, много пользователей | Все профили разом |
Чистка snccntx на сервере | Ошибки у всех пользователей одной базы | Сеансовый кэш сервера |
Способ 1. Вручную
- Закройте все окна 1С.
- Откройте
%LOCALAPPDATA%\1C\1cv8. - Удалите папки с GUID в имени — все или только нужную, найденную по
ID=вibases.v8i. - То же сделайте в
%APPDATA%\1C\1cv8. - Запустите базу. Первый вход будет дольше обычного: платформа заново скачает метаданные.
Способ 2. Параметр /ClearCache
Платформа умеет сбросить кэш сама при старте:
- В окне запуска выделите базу и нажмите «Изменить».
- Пройдите мастер до последней страницы.
- В поле «Дополнительные параметры запуска» впишите
/ClearCache. - Нажмите «Готово» и запустите базу.
После успешного входа параметр лучше убрать. Иначе кэш будет сбрасываться при каждом запуске, и вход останется медленным.
Тот же ключ работает в командной строке:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /IBName "Бухгалтерия ООО Ромашка" /ClearCache
Способ 3. Скрипт для текущего пользователя (BAT)
@echo off
rem Перед запуском закройте все окна 1С
for /d %%D in ("%LOCALAPPDATA%\1C\1cv8\????????-????-????-????-????????????") do rd /s /q "%%D"
for /d %%D in ("%APPDATA%\1C\1cv8\????????-????-????-????-????????????") do rd /s /q "%%D"
del /q "%TEMP%\v8_*.tmp" 2>nul
echo Кэш 1С очищен
Маска из вопросительных знаков совпадает только с папками формата GUID. Файлы ibases.v8i, *.pfl и лицензии скрипт не задевает.
Способ 4. Все профили терминального сервера (PowerShell)
Запускайте от администратора в окно обслуживания, когда пользователи вышли из системы:
$guid = '^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$'
Get-ChildItem 'C:\Users' -Directory | ForEach-Object {
foreach ($sub in 'AppData\Local\1C\1cv8', 'AppData\Roaming\1C\1cv8') {
$path = Join-Path $_.FullName $sub
if (Test-Path $path) {
Get-ChildItem $path -Directory |
Where-Object { $_.Name -match $guid } |
Remove-Item -Recurse -Force -ErrorAction SilentlyContinue
}
}
}
Способ 5. Linux-клиент
find ~/.1cv8/1C/1cv8 -maxdepth 1 -type d \
-regextype posix-extended -regex '.*/[0-9a-f-]{36}' -exec rm -rf {} +
Способ 6. Сеансовый кэш сервера 1С
Остановка агента сервера обрывает сеансы всех пользователей всех баз кластера, несохранённые данные пропадут. Делайте это вечером или в выходной, предупредив людей заранее. Перед чисткой скопируйте каталог reg_1541 целиком.
- Остановите службу агента сервера: в Windows через
services.msc, в Linux черезsystemctl stop <имя службы>. - Откройте
srvinfo\reg_1541. - Удалите папки
snccntx…. Файлы*.lstи папки1Cv8Logне трогайте. - Запустите службу и проверьте вход в базу.
Признаки «больного» кэша и диагностика
Кэш виноват не всегда. Прежде чем чистить, сопоставьте симптом с причиной:
Как быстро измерить объём кэша
Размер кэша по всем профилям терминального сервера показывает PowerShell:
Get-ChildItem 'C:\Users' -Directory | ForEach-Object {
$p = Join-Path $_.FullName 'AppData\Local\1C\1cv8'
if (Test-Path $p) {
$mb = (Get-ChildItem $p -Recurse -File -ErrorAction SilentlyContinue |
Measure-Object Length -Sum).Sum / 1MB
'{0,-20} {1,8:N0} МБ' -f $_.Name, $mb
}
}
Если у одного пользователя кэш в несколько раз больше, чем у коллег с тем же набором баз, начните с него.
На сервере 1С проверьте размер папок snccntx…. Нормально, когда они занимают мегабайты. Гигабайты — сигнал, что сеансовые данные не освобождаются и нужен перезапуск в окно обслуживания.
Профилактика: чтобы кэш не мешал работать
- 🗓 Чистите после обновлений. Обновили конфигурацию — сбросьте кэш у пользователей терминального сервера скриптом в ту же ночь. Это снимает большинство жалоб «у меня старая форма».
- ⏰ Поставьте задачу в планировщик. Скрипт PowerShell из способа 4 раз в неделю ночью в Планировщике заданий Windows. Условие — пользователи вышли из системы.
- 🧾 Не держите
/ClearCacheпостоянно. Параметр в настройках базы навсегда делает вход медленным, а пользу даёт только разово. - 🧹 Чистите
%TEMP%вместе с кэшем. Файлыv8_*.tmpзанимают место не меньше, чем кэш метаданных. - 📏 Следите за диском C на терминальном сервере. Заложите на кэш 1С по 0,5–1 ГБ на пользователя и настройте оповещение при заполнении диска на 85%.
- 🖥 Перезапускайте рабочие процессы, а не весь сервер. В консоли кластера можно задать перезапуск рабочих процессов по интервалу в свойствах рабочего сервера — сеансовые данные будут освобождаться регулярно без ручной чистки
snccntx.
Частые вопросы
Пропадут ли мои настройки отчётов после очистки кэша?
Нужно ли чистить кэш при работе через веб-клиент?
Почему после очистки кэша 1С долго запускается?
Можно ли перенести кэш 1С на другой диск?
Удалит ли чистка кэша саму базу?
1Cv8.1CD в каталоге базы, серверная — данные в СУБД. В папках кэша их нет.