К статье
Практический материал

Администрирование · 10 мин

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

Как очистить кэш 1С на сервере: где хранятся файлы srvinfo, reg_1541 и snccnt, как безопасно удалить кэш сеансов и метаданных, типичные ошибки и проверка результата.

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

Чистка серверного кэша отличается от удаления кэша на клиенте. На клиенте достаточно удалить папки с хешированными именами в профиле пользователя, а на сервере работа идёт с каталогом srvinfo и требует остановки службы агента сервера — иначе часть файлов будет заблокирована, а база может остаться в неконсистентном состоянии.

Материал рассчитан на администраторов, работающих с сервером 1С на Windows или Linux. Описаны оба варианта: очистка через консоль кластера и ручное удаление каталогов, а также команды для автоматизации.

Что именно считается кэшем на сервере 1С

Под «кэшем сервера» обычно понимают три группы данных в каталоге srvinfo. Первая — служебные файлы сеансов и соединений в папке reg_1541 (номер зависит от порта кластера: 1541, 1591 и т.д.). Вторая — каталог snccnt, где хранятся счётчики и данные сервисных сеансов. Третья — журнал регистрации и временные файлы, которые растут неограниченно, если не настроена ротация.

Отдельно стоит кэш метаданных рабочих процессов: агент сервера держит в памяти и на диске скомпилированные описания конфигурации, чтобы не читать их из СУБД при каждом обращении. Именно этот кэш чаще всего становится причиной ошибок после обновления конфигурации — сервер продолжает отдавать клиентам старую версию метаданных.

Когда очистка кэша действительно нужна

Чистить кэш «для профилактики» каждую неделю не нужно — сервер пересоздаст файлы, и вы получите лишь лишние простои. Реальные поводы: ошибка «Ошибка формата потока» у пользователей, сообщение о несовпадении версии метаданных после обновления, невозможность подключиться к базе при живом сервере СУБД, аномальный рост каталога srvinfo.

Ещё один сценарий — «зависшие» сеансы: пользователь давно закрыл программу, а сеанс висит в консоли кластера и держит соединение с СУБД. Иногда проще перезапустить службу с чисткой, чем выбивать сеансы по одному.

Ошибка формата потокаПовреждённый или устаревший кэш

Проверить, возникает ли ошибка у всех пользователей или у одного — если у одного, чистить клиентский кэш

Ошибки после обновления конфигурацииСервер отдаёт старые метаданные

Проверить, помогает ли перезапуск службы агента без удаления файлов

Каталог srvinfo занимает десятки гигабайтНакоплены журналы и временные файлы

Проверить размер подпапок reg_1541 и журнала регистрации

Зависшие сеансы в консолиСеансы не завершаются штатно

Попробовать удалить сеанс через консоль кластера перед перезапуском службы

Подготовка: что сделать перед очисткой

Главное правило — очистка серверного кэша означает перезапуск службы агента, а значит, все пользователи будут отключены. Заранее предупредите сотрудников, выберите окно с минимальной нагрузкой и убедитесь, что нет запущенных регламентных заданий: обменов, резервных копий, закрытия месяца. Прерванное фоновое задание может оставить незавершённые транзакции в СУБД.

Второй шаг — резервная копия каталога srvinfo. Это не копия баз данных, а страховка реестра кластера: если после чистки что-то пойдёт не так, вы вернёте список баз и настройки кластера за минуту. Скопируйте папку целиком в соседний каталог до остановки службы или сразу после — но до удаления чего-либо.

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

На Windows служба агента называется «Агент сервера 1С:Предприятия» (1C:Enterprise Server Agent). Остановить её можно через services.msc или командной строкой с правами администратора. После остановки удалите содержимое папки reg_1541, кроме файла реестра кластера, либо переименуйте папку — сервер создаст новую при запуске.

cmd
net stop "1C:Enterprise 8.3 Server Agent"
ren "C:\Program Files\1cv8\srvinfo\reg_1541" reg_1541_old
net start "1C:Enterprise 8.3 Server Agent"

Имя службы зависит от версии платформы — проверьте точное название в services.msc. Если в каталоге srvinfo несколько папок вида reg_1541, reg_1591, значит, когда-то создавались дополнительные кластеры — чистить нужно ту, что соответствует рабочему порту.

Порядок действий на Windows
  1. 1
    Предупредите пользователей и завершите регламентные задания
  2. 2
    Скопируйте каталог srvinfo в резервное расположение
  3. 3
    Остановите службу агента сервера 1С
  4. 4
    Переименуйте или очистите папку reg_1541 (оставив копию)
  5. 5
    Запустите службу и проверьте список баз в консоли кластера
  6. 6
    Попросите пользователей подключиться и подтвердить, что ошибка ушла

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

На Linux логика та же: остановить службу, почистить каталог, запустить. Служба обычно называется srv1cv83 (для платформы 8.3) и управляется через systemctl. Путь к srvinfo зависит от способа установки — чаще это /opt/1cv8/x86_64/8.3.xx.xxxx или домашний каталог пользователя usr1cv8.

bash
systemctl stop srv1cv83
mv /home/usr1cv8/.1cv8/1cv8/srvinfo/reg_1541 /home/usr1cv8/.1cv8/1cv8/srvinfo/reg_1541.bak
systemctl start srv1cv83

После запуска проверьте, что служба поднялась: systemctl status srv1cv83 и список процессов ragent, rmngr, rphost через ps aux | grep 1cv8. Если rphost не появился — смотрите логи службы, чаще всего проблема в правах на каталог после ручных операций от root.

Очистка через консоль кластера и альтернативы

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

Для сброса кэша метаданных без полной чистки srvinfo иногда достаточно перезапуска службы: при старте агент перечитывает конфигурацию из СУБД. Это занимает минуту и не требует удаления файлов. Ручное удаление reg_1541 оставьте для случаев, когда перезапуск не помогает.

Сравнение способов

Перезапуск службы агента

Быстро и безопасно; сбрасывает кэш в памяти. Не помогает при повреждённых файлах в srvinfo

Удаление сеансов через консоль

Точечное решение без отключения всех пользователей. Не очищает кэш метаданных и файлы кластера

Удаление reg_1541 с остановкой службы

Полная очистка серверного кэша. Требует простоя и резервной копии каталога

Типичные ошибки и как проверить результат

Самая частая ошибка — удаление файлов при работающей службе. Вторая — удаление всего srvinfo целиком, включая реестр кластера, после чего список баз в консоли пуст и базы приходится регистрировать заново вручную. Третья — чистка серверного кэша, когда проблема на клиенте: если ошибка возникает только у одного пользователя, начинать нужно с его локального кэша в %APPDATA%\1C\1cv8.

Типичные ошибки
01
Удаление файлов srvinfo при работающей службе — блокировки и повреждение реестра кластера
02
Удаление файла 1CV8Clst.lst — потеря списка информационных баз в консоли
03
Чистка сервера вместо клиентского кэша при локальной ошибке одного пользователя
04
Отсутствие резервной копии srvinfo — невозможно быстро откатиться
05
Забытые регламентные задания — прерванные обмены и незавершённые транзакции

После запуска службы проверьте три вещи: служба работает и процессы ragent/rmngr/rphost запущены; в консоли кластера виден полный список информационных баз; пользователи подключаются без ошибок. Подключитесь к каждой проблемной базе сами и выполните типовую операцию, которая раньше вызывала ошибку.

Контрольные точки

Как проверить результат

Статус службы агента
Норма

Служба запущена, процессы ragent, rmngr, rphost присутствуют

Тревожный признак

Служба падает сразу после старта — проверяйте права и логи

Список баз в консоли кластера
Норма

Все базы на месте, сеансы создаются

Тревожный признак

Список пуст — восстановите 1CV8Clst.lst из копии

Подключение пользователей
Норма

База открывается, ошибка формата потока не появляется

Тревожный признак

Ошибка сохраняется — чистите клиентский кэш или проверяйте целостность базы

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

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

Регулярная чистка не требуется — сервер управляет кэшем сам. Удаляйте файлы только при конкретных симптомах: ошибки формата потока, конфликты метаданных после обновления, аномальный рост srvinfo. Для контроля роста достаточно периодически проверять размер каталога и настроить ротацию журнала регистрации.

Чем серверный кэш отличается от клиентского?

Клиентский кэш хранится в профиле пользователя (%APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8) и содержит метаданные, которые клиент скачал с сервера. Серверный — это служебные файлы кластера в srvinfo. Если ошибка у одного пользователя — чистите клиентский кэш, если у всех сразу — серверный.

Удалится ли база данных при очистке srvinfo?

Нет. Данные хранятся в СУБД (MS SQL, PostgreSQL и т.д.) или в файле .1CD — srvinfo содержит только служебную информацию кластера. Риск ограничивается потерей списка зарегистрированных баз в консоли, который восстанавливается повторной регистрацией.

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

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

Что делать, если после очистки список баз в консоли пуст?

Остановите службу, верните из резервной копии файл 1CV8Clst.lst (и связанные файлы реестра) в каталог srvinfo, запустите службу. Если копии нет — зарегистрируйте базы заново через консоль кластера, указав те же параметры подключения к СУБД; сами данные не пострадают.

Помогает ли чистка кэша при медленной работе базы?

Только если причина именно в разросшихся служебных файлах или зависших сеансах. Чаще медленная работа связана с СУБД: нехваткой памяти, устаревшей статистикой, фрагментацией индексов. Начните диагностику с мониторинга СУБД и плана запросов, а не с удаления кэша.

Итог

Что важно запомнить

Серверный кэш 1С очищается через остановку службы агента и удаление или переименование папки reg_1541 в каталоге srvinfo. Перед этим — резервная копия srvinfo и завершение регламентных заданий. Если ошибка только у одного пользователя, чистите его клиентский кэш, а не сервер.