Серверный кэш 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С и типа установки (файловый вариант или клиент-серверный). Ниже приведён актуальный список путей для наиболее распространённых конфигураций:

Тип установки Операционная система Путь к кэшу Примечания
Клиент-сервер (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. Остановите службы 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"
    • Перезапустите службы:

      Вернитесь в Службы и запустите остановленные ранее компоненты. Порядок важен:

      1. Сначала 1C:Enterprise 8.3 Server Agent
      2. Потом 1C:Enterprise 8.3 Server
      3. В последнюю очередь — веб-сервер (Apache/nginx)
    • После перезапуска службы 1С автоматически восстановит необходимые файлы кэша. Первое подключение пользователей может занять больше времени — это нормально.

      Ошибки блокировок исчезли|Скорость открытия форм вернулась к норме|В логах нет новых SQL-ошибок|Все пользователи подключаются без сбоев-->

      Очистка кэша на Linux-сервере

      На серверах под управлением CentOS, Ubuntu или Debian процесс очистки кэша имеет свои нюансы. Основное отличие — работа с правами доступа и расположением файлов. Вот универсальная инструкция:

      1. Остановите службы 1С:

        Используйте команды для systemd:

        sudo systemctl stop srv1cv83  # для сервера 1С
        

        sudo systemctl stop apache2 # если используется веб-доступ

        Для проверки статуса:

        sudo systemctl status srv1cv83
      2. Найдите папку с кэшем:

        Путь зависит от способа установки. Чтобы найти его автоматически, выполните:

        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:

      1. Откройте Планировщик задачСоздать задачу.
      2. На вкладке Триггеры добавьте расписание (еженедельно).
      3. На вкладке Действия укажите:

        Программа: 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:

    1. Откройте редактор cron:
    2. sudo crontab -e
    3. Добавьте строку (очистка каждый понедельник в 4:00):
    4. 0 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С после каждой процедуры!

      Частые ошибки при очистке кэша и как их избежать

      Неправильная очистка кэша может усугубить проблемы или вызвать новые. Вот типичные ошибки администраторов и способы их предотвращения:

      • 🚫 Удаление файла srvinfo.dat — это конфигурационный файл кластера. Без него сервер 1С не запустится. Решение: всегда исключайте его из очистки.
      • 🚫 Очистка кэша на одном узле кластера — если узлы не синхронизированы, это вызовет конфликты. Решение: останавливайте весь кластер и чистите кэш на всех серверах одновременно.
      • 🚫 Использование rm -rf / по ошибке — опечатка в команде может стереть критические системные файлы. Решение: всегда проверяйте путь дважды или используйте --dry-run.
      • 🚫 Игнорирование прав доступа — после очистки новые файлы кэша могут создаваться с неправильными правами. Решение: на Linux устанавливайте владельца usr1cv8:

        sudo chown -R usr1cv8:grp1cv8 /opt/1C/v8.3/x86_64/srvinfo/

    Ещё одна распространённая проблема — неполная остановка служб. Если процесс 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С не делится по базам — он общий для всех информационных баз на кластере. Если проблема только в одной базе, попробуйте:

      1. Выгрузить/загрузить базу через Конфигуратор (меню Администрирование → Выгрузить информационную базу).
      2. Использовать утилиту 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).