Кэш 1С:Предприятие — это временные файлы, которые ускоряют работу системы, но со временем могут занимать гигабайты дискового пространства или вызывать ошибки при обновлениях. Администраторам и разработчикам критически важно знать, где именно хранится кэш сервера 1С, чтобы эффективно управлять им: очищать вручную, автоматизировать процесс или диагностировать проблемы производительности.
В этой статье мы разберём все возможные локации кэша — от стандартных путей в Windows и Linux до скрытых папок кластерных серверов и облачных решений. Вы узнаете, как отличается хранение кэша в файловом и клиент-серверном режимах, какие файлы можно удалять без риска, а какие трогать опасно. Отдельное внимание уделим недокументированным папкам кэша, которые формируются при работе с расширениями и внешними компонентами.
1. Стандартные пути хранения кэша 1С на сервере
В большинстве случаев кэш сервера 1С:Предприятие 8 хранится в системных папках, путь к которым зависит от операционной системы и версии платформы. Ниже приведены актуальные локации для последних версий (8.3.20+).
На Windows-серверах основные папки кэша располагаются:
- 📁
C:\ProgramData\1C\1Cv8\— системный кэш платформы (общий для всех пользователей) - 📁
C:\Users\<ИмяПользователя>\AppData\Local\1C\1Cv8\— локальный кэш текущего пользователя - 📁
C:\Program Files\1cv8\<версия_плафтормы>\bin\— временные файлы запуска (включая кэш обновлений)
На Linux-серверах пути отличаются:
- 📁
/opt/1C/v8.3/<версия>/— системные файлы платформы (включая кэш кластера) - 📁
/var/1C/tmp/— временные файлы сессий (очищается автоматически при перезагрузке) - 📁
/home/<имя_пользователя>/.1C/1cv8/— локальный кэш пользователя (аналогAppDataв Windows)
Важно понимать, что в клиент-серверном режиме кэш делится на две части:
- Серверный кэш — хранится на машине с 1С:Сервером и включает метаданные, временные таблицы и компилированные модули.
- Клиентский кэш — располагается на рабочих станциях пользователей и содержит формы, отчёты, настройки интерфейса.
Если вы администрируете кластер серверов 1С, проверьте настройки ragent.conf — в нём может быть прописан альтернативный путь для хранения кэша (параметр TempDirectory).
2. Кэш кластера серверов 1С: скрытые папки и их назначение
При работе с кластером серверов 1С (например, в конфигурациях с балансировкой нагрузки) кэш распределяется между несколькими узлами. Основные папки, на которые стоит обратить внимание:
| Папка | Назначение | Можно ли очищать? |
|---|---|---|
/var/1C/data/ |
Хранит временные файлы сессий пользователей (включая заблокированные объекты) | Да, но только при остановленном кластере |
/opt/1C/v8.3/<версия>/conf/ |
Конфигурационные файлы кластера (включая кэш лицензий) | Нет (риск сброса настроек) |
/tmp/1C/ |
Временные файлы компиляции и отладки | Да, но могут восстановиться при следующем запуске |
/var/1C/log/ |
Логи работы кластера (не кэш, но может занимать много места) | Да, но лучше архивировать перед удалением |
Особенность кластерного кэша — его распределённый характер. Например, если у вас 3 рабочих процесса (rmngr), то кэш может дублироваться в папках каждого из них:
/opt/1C/v8.3/<версия>/conf/rmngr-001/
/opt/1C/v8.3/<версия>/conf/rmngr-002/
/opt/1C/v8.3/<версия>/conf/rmngr-003/
При очистке таких папок обязательно остановите кластер командой:
sudo systemctl stop srv1cv83
Кэш кластера 1С может занимать до 10-15% от объёма оперативной памяти сервера, если не настроены ограничения в ras.conf (параметр CacheSizeMB).
3. Кэш в файловом режиме vs клиент-серверный режим
Расположение и структура кэша сильно зависят от режима работы 1С:
В файловом режиме (используется для небольших баз) кэш хранится:
- 📁 Локально на каждой рабочей станции в
%LocalAppData%\1C\1Cv8\(Windows) или~/.1C/1cv8/(Linux). - 📁 В папке с базой данных (если используется
.1CDформат) — создаётся подпапка1Cv8Logс временными файлами.
В клиент-серверном режиме (с использованием MS SQL, PostgreSQL или 1С:Сервера):
- 📁 Кэш метаданных и компилированных модулей хранится на сервере в
/var/1C/data/илиC:\ProgramData\1C\1Cv8\. - 📁 Клиентский кэш (формы, отчёты) остаётся на рабочих станциях.
- 📁 Дополнительно создаётся кэш SQL-сервера (например,
tempdbв MS SQL), который не относится к 1С, но влияет на производительность.
Главное отличие: в файловом режиме кэш дублируется на каждой машине, а в клиент-серверном — централизован на сервере. Это означает, что при очистке в файловом режиме придётся проходить по всем рабочим станциям, а в клиент-серверном — достаточно очистить кэш на сервере и перезапустить кластер.
Что будет если не очищать кэш годами?
Длительное накопление кэша может привести к:
1. Замедлению открытия форм и отчётов (из-за переполнения кэша метаданных).
2. Ошибкам вида "Недостаточно памяти" при работе с большими документами.
3. Конфликтам версий, когда в кэше остаются устаревшие компилированные модули после обновления конфигурации.
4. Утечкам памяти в кластере 1С, если не настроены ограничения на размер кэша в ras.conf.
4. Как найти и очистить кэш 1С на сервере
Очистка кэша — рутинная задача администратора, но делать это нужно аккуратно, чтобы не нарушить работу системы. Ниже пошаговые инструкции для разных сценариев.
Очистка кэша на Windows-сервере
Остановить службу "Агент сервера 1С:Предприятия 8.3"
Закрыть все сессии 1С на сервере и клиентах
Сделать резервную копию папок кэша (опционально)
Проверьте свободное место на диске после очистки-->
1. Остановите службу 1С:Сервера:
net stop "1C:Enterprise 8.3 Server Agent"
2. Удалите содержимое папок (не сами папки!):
del /q /s "C:\ProgramData\1C\1Cv8\*"
del /q /s "C:\Users\<ИмяПользователя>\AppData\Local\1C\1Cv8\*"
3. Перезапустите службу:
net start "1C:Enterprise 8.3 Server Agent"
Очистка кэша на Linux-сервере
1. Остановите кластер:
sudo systemctl stop srv1cv83
2. Очистите папки:
sudo rm -rf /var/1C/tmp/*
sudo rm -rf /opt/1C/v8.3/<версия>/conf/rmngr-/cache/
3. Перезапустите кластер:
sudo systemctl start srv1cv83
0 3 * root find /var/1C/tmp/ -type f -mtime +7 -delete
Эта команда будет удалять файлы старше 7 дней каждый день в 3 часа ночи.-->
5. Кэш расширений и внешних компонент: где искать?
Помимо стандартного кэша платформы, 1С:Предприятие создаёт временные файлы для:
- 🧩 Расширений конфигурации — хранятся в
%LocalAppData%\1C\1Cv8\.\exts\ - 🔌 Внешних компонент — кэшируются в папке компоненты (например,
C:\Program Files\1cv8\<версия>\bin\extcomp\). - 📊 Отчётов и обработок — временные файлы
.epfи.erfмогут оставаться в%Temp%\1C\.
Особенно много "мусора" накапливается при активной разработке или использовании БСП (Библиотека Стандартных Подсистем). Например, при каждом сохранении отчёта в Конфигураторе создаётся временная копия в:
C:\Users\<ИмяПользователя>\AppData\Local\Temp\1C\1Cv8\mngr\
Эти файлы можно удалять вручную, но лучше настроить автоматическую очистку через Плановое задание в Windows или cron в Linux.
Файлы расширений с расширением .cfe (кэш форм) и .cme (кэш модулей) можно удалять без риска для данных, но при следующем запуске они восстановятся.
6. Кэш в облачных решениях (1С:Fresh, 1С:Линк)
Если вы используете 1С:Fresh или другие облачные сервисы, прямого доступа к кэшу сервера у вас нет — он управляется провайдером. Однако кэш всё равно формируется:
- 🌐 На стороне клиента — в браузере (для веб-клиента) или в
AppData(для локального клиента). - ☁️ На серверах провайдера — очищается автоматически по расписанию (обычно раз в сутки).
Для очистки клиентского кэша в веб-версии:
- Откройте
Чистка кэшав настройках браузера (например,Ctrl+Shift+Delв Chrome). - Выберите
Файлы cookie и другие данные сайтов. - Укажите временной диапазон
За всё время. - В поле
Удалить следующие элементыдобавьтеhttps://*.1cfresh.com.
Для тонкого клиента:
- Закройте все сессии 1С.
- Удалите содержимое папки
%LocalAppData%\1C\1Cv8\.\ - Перезапустите клиент.
В 1С:Fresh кэш сессий хранится не дольше 24 часов, но кэш форм и отчётов может накапливаться до 30 дней. Если интерфейс начал "тормозить", попробуйте очистить кэш браузера или переустановить тонкий клиент.
7. Автоматизация очистки кэша: скрипты и инструменты
Ручная очистка кэша неэффективна для крупных инсталляций. Рассмотрим способы автоматизации:
Скрипт для Windows (PowerShell)
Создайте файл Clear-1CCache.ps1 со следующим содержимым:
# Останавливаем службу 1С
Stop-Service -Name "1C:Enterprise 8.3 Server Agent" -Force
Очищаем папки кэша
$paths = @(
"C:\ProgramData\1C\1Cv8\*",
"$env:LocalAppData\1C\1Cv8\*"
)
foreach ($path in $paths) {
Remove-Item -Path $path -Recurse -Force -ErrorAction SilentlyContinue
}
Запускаем службу обратно
Start-Service -Name "1C:Enterprise 8.3 Server Agent"
Запускайте скрипт по расписанию через Планировщик заданий (например, раз в неделю в 2:00 ночи).
Скрипт для Linux (Bash)
Создайте файл /usr/local/bin/clear_1c_cache.sh:
#!/bin/bash
service srv1cv83 stop
rm -rf /var/1C/tmp/*
rm -rf /opt/1C/v8.3//conf/rmngr-/cache/*
service srv1cv83 start
Дайте права на выполнение:
chmod +x /usr/local/bin/clear_1c_cache.sh
Добавьте в cron:
0 2 0 root /usr/local/bin/clear_1c_cache.sh
Инструменты от 1С
В последних версиях платформы (8.3.20+) появилась утилита chdbfl.exe, которая может очищать кэш базы данных. Запуск:
chdbfl.exe -ibname "<ИмяБазы>" -clearCache
Автоматическая очистка кэша снижает риск ошибок типа "Объект не найден" после обновления конфигурации, так как исключает использование устаревших компилированных модулей.
8. Ошибки, связанные с кэшем, и их решение
Неправильное управление кэшем может приводить к серьёзным сбоям. Рассмотрим типичные ошибки и способы их устранения.
| Ошибка | Причина | Решение |
|---|---|---|
Недостаточно памяти для операции |
Переполнение кэша метаданных или утечка памяти в кластере | Очистить кэш, увеличить CacheSizeMB в ras.conf, перезапустить кластер |
Объект не найден (XXX) после обновления |
В кэше остались устаревшие компилированные модули | Полная очистка кэша на сервере и клиентах |
Ошибка блокировки файла при работе с базой |
Временные файлы в /var/1C/data/ не очищены после аварийного завершения |
Удалить файлы *.lck вручную или перезапустить кластер |
Ошибка формата потока при открытии отчёта |
Повреждение кэша форм в AppData\Local\1C\1Cv8\ |
Удалить папку с ID базы из кэша клиента |
Если после очистки кэша ошибки сохраняются, проверьте:
- 🔍 Целостность базы данных (утилита
chdbfl.exe -ibname "<ИмяБазы>" -check). - 🔍 Права доступа на папки кэша (должны быть
775для Linux илиFull Controlдля Windows). - 🔍 Версию платформы — в старых версиях (ниже 8.3.18) кэш мог храниться в нестандартных локациях.
Как восстановить кэш после неудачной очистки?
Если после удаления кэша 1С перестала запускаться (например, из-за удаления конфигурационных файлов), выполните:
1. Восстановите папки из резервной копии (если делали).
2. Переустановите платформу 1С (без удаления баз данных).
3. Запустите Конфигуратор в режиме восстановления (1cv8.exe /Repair).
4. Если проблема в кластере, выполните команду:
rac cluster --reinit
Часто задаваемые вопросы
Можно ли очищать кэш 1С во время работы пользователей?
Нет, это может привести к потере несохранённых данных или повреждению сессий. Обязательно остановите кластер сервера 1С и закройте все клиентские сессии перед очисткой. Исключение — очистка локального кэша на рабочей станции (например, форм отчётов), но и в этом случае лучше перезапустить клиент 1С после удаления файлов.
Сколько места может занимать кэш 1С на сервере?
Объём кэша зависит от:
- Количества баз данных и их размера (от 100 МБ для маленьких баз до 10+ ГБ для ERP-систем).
- Числа одновременно работающих пользователей (каждая сессия создаёт временные файлы).
- Настроек кластера (параметр
CacheSizeMBвras.conf).
В среднем для базы с 50 пользователями кэш занимает 1–3 ГБ. Если объём превышает 5 ГБ, это повод проверить настройки или автоматизировать очистку.
Как очистить кэш для конкретной базы данных?
Чтобы удалить кэш только одной базы:
- Найдите её ID в папке кэша (например,
C:\ProgramData\1C\1Cv8\1c2f3d5a-6b7c-8d9e-0f1a-2b3c4d5e6f7a\). - Удалите только эту папку, не затрагивая остальные.
- Перезапустите сервер 1С.
ID базы можно узнать из файла 1CV8Reg.1CD (для файлового режима) или через Конфигуратор в меню Администрирование → Публикация на веб-сервере.
Почему после очистки кэша 1С работает медленнее?
Это нормальное временное явление. После очистки кэша платформа вынуждена:
- Перекомпилировать все модули (замедление при первом запуске).
- Загружать метаданные заново из базы данных (увеличивается нагрузка на SQL-сервер).
- Создавать новые временные файлы для сессий.
Производительность восстановится через 10–30 минут активной работы. Если тормоза сохраняются дольше, проверьте:
- Нагрузку на диск (возможно, фрагментация после очистки).
- Настройки
CacheSizeMBвras.conf(должны соответствовать объёму ОЗУ сервера).
Как запретить 1С кэшировать данные на клиентских машинах?
Полностью отключить кэширование нельзя, но можно ограничить его объём:
- Для тонкого клиента: в файле
1cv8.cfg(расположен рядом с1cv8.exe) добавьте строку:CacheSize = 100(значение в мегабайтах).
- Для веб-клиента: в настройках IIS или Apache ограничьте объём кэша через параметры
maxCacheSize. - Для мобильного клиента: кэш очищается автоматически при выходе из приложения.
Учтите, что чрезмерное ограничение кэша может привести к частым обращениям к серверу и увеличению сетевой нагрузки.