Полезное

Чистка серверного кэша 1С: удаление временных файлов

Вадим Заплетин 2 мин чтения
Чистка серверного кэша 1С: удаление временных файлов

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

Эта инструкция покажет, где находится кэш сервера 1С, в каких ситуациях его нужно чистить и как это сделать правильно — через консоль администратора или вручную. Подходит для версий 1С:Предприятие 8.2, 8.3 и новых релизов платформы.

Где хранится кэш сервера 1С

Расположение зависит от версии платформы и архитектуры сервера. По умолчанию путь выглядит так:

Windows:
C:\Program Files\1cv8\srvinfo\reg_1541\<uuid-кластера>\1CV8\<uuid-базы>\

Внутри папки базы вы увидите каталоги:

  • cache — скомпилированные модули и метаданные конфигурации
  • temp — временные файлы сеансов (отчёты, выгрузки, копии таблиц для обработки)
  • snccntx — контекст синхронизации для распределённых баз

Linux:
/opt/1cv8/x86_64/<версия>/srvinfo/reg_1541/<uuid-кластера>/1CV8/<uuid-базы>/

Чтобы быстро найти UUID базы, откройте консоль администратора 1С (ras), выберите кластер и посмотрите свойства информационной базы. Значение поля «Идентификатор» — это UUID, который нужен для пути к кэшу.

Когда нужна чистка серверного кэша 1С

Очищайте кэш в следующих ситуациях:

  • После обновления конфигурации — если изменилась структура метаданных (добавлены реквизиты, изменены процедуры), старый кэш может вызвать ошибку «Несоответствие метаданных» или зависание при запуске.
  • Ошибки подключения пользователей — сообщения типа «Не удалось установить соединение с сервером 1С» или «Ошибка создания COM-объекта» часто связаны с повреждённым кэшем.
  • Переполнение диска — папка temp может разрастаться до десятков гигабайт, если сеансы создают большие временные таблицы или выгружают массивные отчёты. Особенно актуально для серверов с конфигурациями ERP или УПП.
  • Перенос базы на другой сервер — после переноса информационной базы кэш старого сервера становится неактуальным, его нужно пересоздать.
  • Смена версии платформы 1С — при обновлении с 8.2 на 8.3 или между релизами 8.3 кэш прежней версии может конфликтовать с новой.

Проверяйте размер кэша раз в месяц. Если папка cache занимает больше 2 ГБ или temp превышает 5 ГБ — время чистить.

Способ 1: очистка через консоль кластера серверов

Пошаговая инструкция

  1. Откройте консоль администратора 1С. Путь: «Пуск» → «1С:Предприятие 8.3» → «Администрирование» → «Консоль кластера серверов».
  2. Подключитесь к кластеру. Укажите адрес центрального сервера (обычно localhost или IP-адрес), введите логин и пароль администратора кластера.
  3. Выберите информационную базу, кэш которой нужно очистить.
  4. Заблокируйте регламентные задания и запретите новые сеансы. Кликните правой кнопкой по базе → «Заблокировать выполнение регламентных заданий» и «Блокировка сеансов информационной базы». Установите флаг «Начиная с текущего момента» с кодом блокировки (любое слово, например, «cleaning»). Это предотвратит создание новых временных файлов во время очистки.
  5. Завершите активные сеансы. Разверните список «Активные сеансы», выделите все записи (Ctrl+A), кликните правой кнопкой → «Завершить». Дождитесь, пока счётчик сеансов покажет ноль.
  6. Откройте контекстное меню базы → «Очистить кэш серверов». Подтвердите действие. Процесс занимает от 10 секунд до 2 минут в зависимости от размера кэша.
  7. Снимите блокировку сеансов и регламентных заданий. Уберите флаг блокировки через то же меню.
  8. Проверьте работу базы. Подключитесь из толстого или тонкого клиента, выполните типовую операцию (откройте документ, запустите отчёт).

Этот способ безопасен — команда «Очистить кэш серверов» удаляет только временные файлы, не затрагивая данные информационной базы.

Способ 2: ручная очистка через файловую систему

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

Инструкция для Windows

  1. Остановите службу «Агент сервера 1С:Предприятие 8.3». Откройте «Службы» (Win+R → services.msc), найдите «1C:Enterprise 8.3 Server Agent», кликните правой кнопкой → «Остановить».
  2. Перейдите в папку кэша базы: C:\Program Files\1cv8\srvinfo\reg_1541\<uuid-кластера>\1CV8\<uuid-базы>\
  3. Удалите содержимое папок cache и temp. Не удаляйте сами папки, только файлы внутри. Если система запрашивает права администратора — подтвердите.
  4. Запустите службу «Агент сервера 1С:Предприятие 8.3». Кэш пересоздастся автоматически при первом подключении пользователя.

Инструкция для Linux

  1. Остановите службу сервера 1С: sudo systemctl stop srv1cv83
  2. Перейдите в каталог базы: cd /opt/1cv8/x86_64/<версия>/srvinfo/reg_1541/<uuid-кластера>/1CV8/<uuid-базы>/
  3. Удалите файлы: rm -rf cache/* temp/*
  4. Запустите службу: sudo systemctl start srv1cv83

Важно: не удаляйте папку snccntx, если используете распределённые базы. Это нарушит синхронизацию между узлами.

Автоматизация очистки кэша 1С

Если кэш переполняется регулярно (например, каждую неделю), настройте автоматическую очистку через планировщик Windows или cron в Linux.

Скрипт для Windows

Создайте файл clear_1c_cache.bat:

@echo off
net stop "1C:Enterprise 8.3 Server Agent"
timeout /t 5 /nobreak
del /q "C:\Program Files\1cv8\srvinfo\reg_1541\<uuid-кластера>\1CV8\<uuid-базы>\cache\*"
del /q "C:\Program Files\1cv8\srvinfo\reg_1541\<uuid-кластера>\1CV8\<uuid-базы>\temp\*"
net start "1C:Enterprise 8.3 Server Agent"
echo Cache cleared at %date% %time% >> C:\1c_cache_clear.log

Добавьте задачу в планировщик (Win+R → taskschd.msc), укажите запуск каждую ночь в 02:00 с правами администратора.

Скрипт для Linux

Создайте файл /usr/local/bin/clear_1c_cache.sh:

#!/bin/bash
systemctl stop srv1cv83
sleep 5
rm -rf /opt/1cv8/x86_64/<версия>/srvinfo/reg_1541/<uuid-кластера>/1CV8/<uuid-базы>/cache/*
rm -rf /opt/1cv8/x86_64/<версия>/srvinfo/reg_1541/<uuid-кластера>/1CV8/<uuid-базы>/temp/*
systemctl start srv1cv83
echo "$(date): Cache cleared" >> /var/log/1c_cache_clear.log

Сделайте файл исполняемым: chmod +x /usr/local/bin/clear_1c_cache.sh

Добавьте в crontab (выполните crontab -e):

0 2 * * * /usr/local/bin/clear_1c_cache.sh

Скрипт будет запускаться каждую ночь в 02:00.

Влияние очистки кэша на производительность

После удаления кэша сервер пересоздаёт метаданные и компилирует модули при первом подключении пользователей. Это занимает 2-5 минут для средних конфигураций (УТ, БП) и до 15 минут для тяжёлых (ERP, УПП с большим количеством обработок).

Пользователи могут заметить задержку при входе или открытии форм. Чтобы минимизировать дискомфорт:

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

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

Требования к серверу для работы 1С

Частая необходимость чистки кэша может указывать на нехватку ресурсов сервера. Проверьте текущую конфигурацию:

Компонент Минимум (до 10 пользователей) Рекомендуется (10-50 пользователей) Высоконагруженная система (50+ пользователей)
Процессор 4 ядра, 2.5 ГГц 8-16 ядер, 3.0 ГГц 16-32 ядра, 3.5+ ГГц
Оперативная память 8 ГБ 32 ГБ 64-128 ГБ
Дисковая подсистема HDD SATA SSD SATA 500+ ГБ NVMe SSD 1+ ТБ в RAID 10
Место под кэш 10 ГБ 50 ГБ 100-200 ГБ

Если сервер не справляется с нагрузкой, рассмотрите апгрейд. Для 1С критична скорость дисковой подсистемы — переход с HDD на твердотельные накопители SSD ускоряет работу в 3-5 раз. Особенно заметно при формировании больших отчётов и обработке документов.

Для средних и крупных компаний оптимально использовать выделенный сервер под 1С. Это позволяет гибко масштабировать ресурсы и избежать конфликтов с другими приложениями. В каталоге Server360 представлены серверы Dell, HP/HPE, Supermicro и Lenovo — подберём конфигурацию под вашу нагрузку.

Частые ошибки при очистке кэша

Удаление кэша без остановки службы

Если очищать файлы кэша при работающем агенте сервера, система заблокирует часть файлов (появится ошибка «Файл используется другим процессом»). Кэш очистится не полностью, проблема останется. Всегда останавливайте службу перед ручной очисткой.

Удаление папки базы целиком

Некоторые администраторы по ошибке удаляют всю папку с UUID базы, а не только cache и temp. Это уничтожает конфигурацию регистрации базы в кластере. Придётся заново добавлять информационную базу в консоли администратора. Удаляйте только содержимое подпапок cache и temp.

Очистка кэша во время сеанса пользователя

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

Удаление snccntx в распределённой базе

Папка snccntx хранит контекст синхронизации для узлов распределённой информационной базы (РИБ). Если её удалить, узлы не смогут обмениваться данными до пересоздания подписок. Очищайте только cache и temp.

Недостаточно места на системном диске

Если на диске, где установлен сервер 1С, осталось меньше 10% свободного места, кэш может не пересоздаться после очистки. Проверяйте свободное пространство командой df -h (Linux) или через «Этот компьютер» (Windows). Если места мало — увеличьте раздел или перенесите базу на другой диск.

Альтернатива: очистка кэша клиента 1С

Не путайте серверный кэш с клиентским. Клиентский кэш хранится на компьютере пользователя и содержит формы, картинки, настройки интерфейса. Если пользователь видит старую версию формы после обновления конфигурации, чистите клиентский кэш.

Расположение клиентского кэша:
Windows: C:\Users\<имя-пользователя>\AppData\Local\1C\1cv8\
Удалите папку с UUID конфигурации, перезапустите клиент 1С.

Серверный кэш влияет на работу всех пользователей, клиентский — только на локальную машину.

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

Как часто нужно чистить серверный кэш 1С?

Зависит от интенсивности работы. Для небольших организаций (до 10 пользователей) достаточно раз в квартал. Если работает 50+ пользователей и активно обновляется конфигурация — очищайте раз в месяц или настройте автоматическую очистку еженедельно. Контролируйте размер папки temp: если превышает 5 ГБ — время чистить.

Потеряются ли данные после очистки кэша?

Нет. Кэш содержит только временные файлы — скомпилированные модули, метаданные, промежуточные результаты запросов. Все данные информационной базы (документы, справочники, остатки) хранятся отдельно в файле 1Cv8.1CD (файловая база) или в таблицах SQL Server / PostgreSQL (клиент-серверный вариант). Очистка кэша не затрагивает данные, только заставляет сервер пересоздать метаданные.

Можно ли очистить кэш только одной базы в кластере?

Да. Если используете консоль администратора, команда «Очистить кэш серверов» применяется к выбранной информационной базе. При ручной очистке удаляйте файлы только в папке с UUID нужной базы — остальные базы в кластере продолжат работать без изменений.

Рекомендации по профилактике

Чтобы снизить частоту ручной очистки кэша, следуйте этим правилам:

  • Настройте мониторинг дискового пространства. Используйте Zabbix, Nagios или встроенные средства Windows Server для отслеживания размера папок cache и temp. Установите триггер: если temp превышает 3 ГБ — отправить уведомление администратору.
  • Выделите отдельный диск под кэш. Если сервер работает на HDD накопителях, создайте отдельный раздел для кэша 1С. Это упростит контроль места и ускорит доступ к файлам.
  • Оптимизируйте регламентные задания. Тяжёлые операции (перепроведение документов, построение отчётов за год) создают большие временные таблицы. Запускайте их ночью и ограничивайте одновременное выполнение.
  • Обновляйте платформу регулярно. Новые релизы 1С:Предприятие 8.3 содержат исправления утечек памяти и улучшения работы с кэшем. Обновляйтесь минимум раз в квартал.
  • Используйте клиент-серверный вариант вместо файлового. При работе с SQL Server или PostgreSQL нагрузка на серверный кэш ниже — часть операций выполняет СУБД.

Если кэш растёт быстрее 1 ГБ в неделю, проверьте код конфигурации. Возможно, обработки создают избыточные временные таблицы или не закрывают запросы после выполнения.

Чек-лист перед очисткой кэша

Используйте этот список, чтобы не пропустить важные шаги:

  1. Предупредили пользователей о технических работах?
  2. Сделали резервную копию базы данных?
  3. Заблокировали новые сеансы и регламентные задания?
  4. Завершили все активные сеансы?
  5. Остановили службу агента сервера (при ручной очистке)?
  6. Проверили, что удаляете только cache и temp, а не всю папку базы?
  7. Убедились, что на диске достаточно свободного места (минимум 10 ГБ)?
  8. После очистки запустили службу и сняли блокировку сеансов?
  9. Проверили работу базы: подключились, открыли документ, запустили отчёт?
  10. Записали дату очистки в журнал обслуживания сервера?

Пропуск любого из этих шагов может привести к простою системы или потере данных пользователей.

Когда обращаться к специалистам

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

  • Кэш переполняется ежедневно, несмотря на очистку.
  • После очистки появляются ошибки «Нарушение доступа» или база не запускается.
  • Сервер тормозит даже с пустым кэшем — возможно, проблема в аппаратной части.
  • Нужно перенести базу на новый сервер с сохранением всех настроек и минимальным простоем.

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