Серверный кэш 1С:Предприятия — это временное хранилище данных, которое ускоряет работу системы, но со временем может становиться источником проблем. Засорённый или повреждённый кэш приводит к ошибкам типа «Не удалось заблокировать данные», «Ошибка СУБД», замедлению открытия форм или даже падению кластера. Особенно критично это для высоконагруженных систем, где пользователи работают с большими объёмами данных в режиме тонкого клиента или веб-клиента.
В этой статье вы найдёте актуальные способы очистки кэша для разных конфигураций сервера 1С: от одиночной установки на Windows до распределённого кластера на Linux. Мы разберём, когда чистка действительно необходима, а когда проблема кроется в другом — например, в настройках SMB или PostgreSQL. Также вы узнаете, как автоматизировать процесс и избежать типичных ошибок, которые приводят к простою системы.
Когда нужно чистить серверный кэш 1С
Не каждая ошибка в 1С связана с кэшем. Прежде чем приступать к очистке, проверьте симптомы, которые прямо указывают на проблемы с серверными временными файлами:
- 🔄 Циклические ошибки блокировок — пользователи видят сообщения «Объект заблокирован другим пользователем», хотя в системе нет активных сессий.
- 🐢 Замедление операций — открытие отчётов или обработок занимает в 2–3 раза больше времени, чем обычно, при неизменной нагрузке на сервер.
- 🔧 Ошибки СУБД без явных причин — в логах появляются сообщения типа
SQLDeadlockилиTimeout expired, хотя запрос простой и ранее выполнялся без проблем. - 📁 Раздутые папки с кэшем — размер каталога
1Cv8\srvinfoили1Cv8Logпревышает 10–15 ГБ (норма для активного сервера — 1–5 ГБ).
Если эти симптомы проявляются после обновления платформы 1С, изменения конфигурации или миграции данных, очистка кэша может помочь. Однако если проблемы возникли после апдейта Windows Server или смены версии PostgreSQL, сначала проверьте совместимость компонентов — иногда кэш здесь ни при чём.
⚠️ Внимание: Очистка кэша на работающем сервере может прервать активные сессии пользователей. Планируйте процедуру на время минимальной нагрузки или используйте резервный кластер.
Где хранится серверный кэш 1С
Локация кэша зависит от операционной системы, версии платформы 1С и типа установки (файловый вариант или клиент-серверный). Ниже приведён актуальный список путей для наиболее распространённых конфигураций:
| Тип установки | Операционная система | Путь к кэшу | Примечания |
|---|---|---|---|
| Клиент-сервер (1С:Предприятие 8.3) | Windows | C:\ProgramData\1C\1Cv8\srvinfo\ |
Скрытая папка. Требуются права администратора. |
| Клиент-сервер (1С:Предприятие 8.3) | Linux | /var/1C/srvinfo/ или /opt/1C/v8.3/x86_64/srvinfo/ |
Путь зависит от способа установки (deb/rpm или tar.gz). |
| Файловый вариант | Windows | C:\Users\<ИмяПользователя>\AppData\Local\1C\1Cv8\ |
Кэш хранится локально на каждой машине. |
| Кластер серверов 1С | Любая | \\<ИмяСервера>\1Cv8\srvinfo\ |
Общая сетевая папка, указанная при настройке кластера. |
| Веб-сервер (Apache/Nginx) | Любая | /var/www/1c-web/cache/ |
Кэш веб-клиента, очищается отдельно. |
Если вы используете распределённый кластер с несколькими рабочими серверами, кэш может дублироваться на каждом узле. В этом случае очищать нужно все папки одновременно, иначе возможны конфликты версий данных.
Перед очисткой кэша сделайте резервную копию папки srvinfo — это поможет восстановить систему, если после процедуры возникнут неполадки.
Пошаговая инструкция: как очистить кэш на Windows
Для серверов под управлением Windows Server 2016/2019/2022 процесс очистки кэша включает остановку служб 1С и удаление временных файлов. Следуйте инструкции строго по порядку:
- Остановите службы 1С:
Откройте
Панель управления → Администрирование → Службыи остановите:- 🛑
1C:Enterprise 8.3 Server Agent - 🛑
1C:Enterprise 8.3 Server(если есть) - 🛑
Apache2.4илиnginx(если используется веб-доступ)
- 🛑
Используйте команду для быстрой остановки всех служб 1С:
net stop "1C:Enterprise 8.3 Server Agent" /y
net stop "1C:Enterprise 8.3 Server" /y
Перейдите в C:\ProgramData\1C\1Cv8\srvinfo\ и удалите все файлы и подпапки, кроме:
- 📁
reg_1541(если используется) - 📄
srvinfo.dat(конфигурационный файл)
Для очистки через PowerShell:
Remove-Item -Path "C:\ProgramData\1C\1Cv8\srvinfo\*" -Recurse -Force -Exclude "srvinfo.dat","reg_1541"
Вернитесь в Службы и запустите остановленные ранее компоненты. Порядок важен:
- Сначала
1C:Enterprise 8.3 Server Agent - Потом
1C:Enterprise 8.3 Server - В последнюю очередь — веб-сервер (
Apache/nginx)
После перезапуска службы 1С автоматически восстановит необходимые файлы кэша. Первое подключение пользователей может занять больше времени — это нормально.
Ошибки блокировок исчезли|Скорость открытия форм вернулась к норме|В логах нет новых SQL-ошибок|Все пользователи подключаются без сбоев-->
Очистка кэша на Linux-сервере
На серверах под управлением CentOS, Ubuntu или Debian процесс очистки кэша имеет свои нюансы. Основное отличие — работа с правами доступа и расположением файлов. Вот универсальная инструкция:
- Остановите службы 1С:
Используйте команды для
systemd:sudo systemctl stop srv1cv83 # для сервера 1Сsudo systemctl stop apache2 # если используется веб-доступ
Для проверки статуса:
sudo systemctl status srv1cv83 - Найдите папку с кэшем:
Путь зависит от способа установки. Чтобы найти его автоматически, выполните:
sudo find / -name "srvinfo" 2>/dev/nullТипичные расположения:
- 📁
/opt/1C/v8.3/x86_64/srvinfo/(установка из tar.gz) - 📁
/var/1C/srvinfo/(установка через пакеты deb/rpm)
- 📁
Удалите всё содержимое папки srvinfo, кроме файла srvinfo.dat:
sudo rm -rf /opt/1C/v8.3/x86_64/srvinfo/* --exclude="srvinfo.dat"
Если папка находится в другой директории, скорректируйте путь.
sudo systemctl start srv1cv83
sudo systemctl start apache2
На Linux-серверах после очистки кэша рекомендуется также перезагрузить машину, если используются SELinux или AppArmor — это сбросит возможные ограничения доступа к новым файлам кэша.
⚠️ Внимание: Если сервер 1С работает в Docker-контейнере, очистка кэша внутри контейнера бессмысленна — нужно пересоздать контейнер или смонтировать новую папку для srvinfo.
Автоматическая очистка кэша по расписанию
Ручная очистка кэша утомительна, особенно если проблемы возникают регулярно. Автоматизировать процесс можно с помощью планировщика задач (Windows) или cron (Linux). Ниже — готовые решения для обоих случаев.
На Windows (через Планировщик задач)
Создайте задачу, которая будет очищать кэш, например, каждую субботу в 3:00:
- Откройте
Планировщик задач→Создать задачу. - На вкладке
Триггерыдобавьте расписание (еженедельно). - На вкладке
Действияукажите:Программа: cmd.exeАргументы: /c net stop "1C:Enterprise 8.3 Server Agent" /y & del /q "C:\ProgramData\1C\1Cv8\srvinfo\*" & net start "1C:Enterprise 8.3 Server Agent"
На Linux (через cron)
Добавьте задачу в
crontab:- Откройте редактор cron:
- Добавьте строку (очистка каждый понедельник в 4:00):
- 🚫 Удаление файла
srvinfo.dat— это конфигурационный файл кластера. Без него сервер 1С не запустится. Решение: всегда исключайте его из очистки. - 🚫 Очистка кэша на одном узле кластера — если узлы не синхронизированы, это вызовет конфликты. Решение: останавливайте весь кластер и чистите кэш на всех серверах одновременно.
- 🚫 Использование
rm -rf /по ошибке — опечатка в команде может стереть критические системные файлы. Решение: всегда проверяйте путь дважды или используйте--dry-run. - 🚫 Игнорирование прав доступа — после очистки новые файлы кэша могут создаваться с неправильными правами. Решение: на Linux устанавливайте владельца
usr1cv8:sudo chown -R usr1cv8:grp1cv8 /opt/1C/v8.3/x86_64/srvinfo/
sudo crontab -e0 4 1 /usr/bin/systemctl stop srv1cv83 && /usr/bin/rm -rf /opt/1C/v8.3/x86_64/srvinfo/* --exclude="srvinfo.dat" && /usr/bin/systemctl start srv1cv83Для кластерных установок автоматизацию лучше реализовать через скрипты на PowerShell или Bash, которые последовательно очистят кэш на всех узлах.
Автоматическая очистка кэша снижает риск ошибок, но не заменяет регулярное обслуживание сервера. Проверяйте логи 1С после каждой процедуры!
Частые ошибки при очистке кэша и как их избежать
Неправильная очистка кэша может усугубить проблемы или вызвать новые. Вот типичные ошибки администраторов и способы их предотвращения:
Ещё одна распространённая проблема — неполная остановка служб. Если процесс
ragentилиrmngrпродолжает работать, он заблокирует файлы кэша, и их не получится удалить. Проверяйте активные процессы черезДиспетчер задач(Windows) илиhtop(Linux).Что делать, если после очистки кэша 1С не запускается?
Если сервер 1С отказывается стартовать после очистки кэша, проверьте:
1. Наличие файла
srvinfo.dat— если его нет, восстановите из резервной копии.2. Права доступа — на Linux выполните
chmod 775 /opt/1C/v8.3/x86_64/srvinfo/.3. Логи служб — в
Журнале Windowsили/var/log/syslogищите ошибки типа «Cannot open service control manager».4. Зависимости служб — если
ragentне запускается, проверьте, работает лиPostgreSQLилиMicrosoft SQL Server.Альтернативные способы решения проблем с кэшем
Если очистка кэша не помогла, проблема может крыться глубже. Рассмотрите альтернативные методы:
- 🔄 Перезапуск кластера 1С — иногда достаточно перезагрузить службы без очистки кэша:
ras cluster --restart - 🗃️ Тестирование и исправление базы данных — запустите утилиту
chdbfl.exe(для файлового варианта) илиpg_check(для PostgreSQL). - 📊 Оптимизация запросов — если ошибки возникают при открытии конкретных отчётов, проверьте их через
Консоль запросовв 1С. - 🔧 Обновление платформы 1С — некоторые ошибки кэша исправлены в новых версиях (например, баг с блокировками в 8.3.20.1549).
Критическая информация: В версиях 1С:Предприятие 8.3.22+ добавлен механизм автоматической очистки устаревших файлов кэша (параметр CacheCleanupPeriod в конфиге кластера). Если ваша версия новее, ручная чистка может не потребоваться.
⚠️ Внимание: Детали конфигурации кластера 1С могут отличаться в зависимости от версии платформы. Перед внесением изменений сверьтесь с документацией к вашей версии или файлом conf.cfg в каталоге установки.
FAQ: Ответы на частые вопросы
Можно ли очищать кэш 1С без остановки сервера?
Нет, это крайне не рекомендуется. Очистка кэша на работающем сервере может привести к повреждению данных или падению кластера. Исключение — если вы удаляете только устаревшие файлы (старше 7 дней) с помощью скрипта, который не затрагивает активные сессии.
Как очистить кэш для конкретной базы 1С, а не всего сервера?
Серверный кэш в 1С не делится по базам — он общий для всех информационных баз на кластере. Если проблема только в одной базе, попробуйте:
- Выгрузить/загрузить базу через
Конфигуратор(менюАдминистрирование → Выгрузить информационную базу). - Использовать утилиту
1cv8.exeс ключом/ClearCache(только для файловых баз).
Сколько времени занимает очистка кэша на большом сервере?
Время зависит от:
- 📁 Размера папки
srvinfo— 1–5 ГБ очищается за 1–2 минуты, 20+ ГБ может занять до 10 минут. - 🖥️ Производительности дисков — на HDD процесс дольше, чем на SSD или NVMe.
- 🔄 Количества узлов кластера — на распределённой системе время умножается на число серверов.
После очистки первый запуск 1С может быть медленнее обычного (до 5–15 минут), так как кэш восстанавливается.
Что делать, если после очистки кэша пользователи жалуются на ошибки?
Возможные причины и решения:
- 🔑 Недостаточно прав — проверьте, что у пользователей есть доступ к новой папке
srvinfo. - 🔄 Несинхронизированные узлы кластера — перезапустите все службы 1С на всех серверах.
- 📥 Повреждённые метаданные — обновите конфигурацию базы через
Конфигуратор.
Если ошибки сохраняются, восстановите кэш из резервной копии и обратитесь в поддержку 1С с логами (C:\ProgramData\1C\1Cv8Log\).
Можно ли отключить кэширование на сервере 1С полностью?
Технически да, но это сильно снизит производительность. Кэш ускоряет повторные запросы к базе данных, и без него нагрузка на SQL-сервер вырастет в 3–5 раз. Если кэш постоянно вызывает проблемы, лучше:
- 🔧 Настроить автоочистку через параметры кластера.
- 📈 Оптимизировать индексы базы данных.
- 🖥️ Увеличить ресурсы сервера (ОЗУ, SSD).