Администрирование · 10 мин
Как очистить кэш 1С на сервере
Как очистить кэш 1С на сервере: где хранятся файлы srvinfo, reg_1541 и snccnt, как безопасно удалить кэш сеансов и метаданных, типичные ошибки и проверка результата.
Кэш на сервере 1С:Предприятие накапливается постоянно: служебные файлы сеансов, временные данные метаданных, журналы регистрации соединений. Со временем это приводит к характерным проблемам — пользователи видят устаревшие данные после обновления конфигурации, база «подтормаживает», при подключении возникают ошибки вида «Ошибка формата потока» или конфликт версий метаданных.
Чистка серверного кэша отличается от удаления кэша на клиенте. На клиенте достаточно удалить папки с хешированными именами в профиле пользователя, а на сервере работа идёт с каталогом srvinfo и требует остановки службы агента сервера — иначе часть файлов будет заблокирована, а база может остаться в неконсистентном состоянии.
Материал рассчитан на администраторов, работающих с сервером 1С на Windows или Linux. Описаны оба варианта: очистка через консоль кластера и ручное удаление каталогов, а также команды для автоматизации.
Что именно считается кэшем на сервере 1С
Под «кэшем сервера» обычно понимают три группы данных в каталоге srvinfo. Первая — служебные файлы сеансов и соединений в папке reg_1541 (номер зависит от порта кластера: 1541, 1591 и т.д.). Вторая — каталог snccnt, где хранятся счётчики и данные сервисных сеансов. Третья — журнал регистрации и временные файлы, которые растут неограниченно, если не настроена ротация.
Отдельно стоит кэш метаданных рабочих процессов: агент сервера держит в памяти и на диске скомпилированные описания конфигурации, чтобы не читать их из СУБД при каждом обращении. Именно этот кэш чаще всего становится причиной ошибок после обновления конфигурации — сервер продолжает отдавать клиентам старую версию метаданных.
Когда очистка кэша действительно нужна
Чистить кэш «для профилактики» каждую неделю не нужно — сервер пересоздаст файлы, и вы получите лишь лишние простои. Реальные поводы: ошибка «Ошибка формата потока» у пользователей, сообщение о несовпадении версии метаданных после обновления, невозможность подключиться к базе при живом сервере СУБД, аномальный рост каталога srvinfo.
Ещё один сценарий — «зависшие» сеансы: пользователь давно закрыл программу, а сеанс висит в консоли кластера и держит соединение с СУБД. Иногда проще перезапустить службу с чисткой, чем выбивать сеансы по одному.
Проверить, возникает ли ошибка у всех пользователей или у одного — если у одного, чистить клиентский кэш
Проверить, помогает ли перезапуск службы агента без удаления файлов
Проверить размер подпапок reg_1541 и журнала регистрации
Попробовать удалить сеанс через консоль кластера перед перезапуском службы
Подготовка: что сделать перед очисткой
Главное правило — очистка серверного кэша означает перезапуск службы агента, а значит, все пользователи будут отключены. Заранее предупредите сотрудников, выберите окно с минимальной нагрузкой и убедитесь, что нет запущенных регламентных заданий: обменов, резервных копий, закрытия месяца. Прерванное фоновое задание может оставить незавершённые транзакции в СУБД.
Второй шаг — резервная копия каталога srvinfo. Это не копия баз данных, а страховка реестра кластера: если после чистки что-то пойдёт не так, вы вернёте список баз и настройки кластера за минуту. Скопируйте папку целиком в соседний каталог до остановки службы или сразу после — но до удаления чего-либо.
Очистка кэша на Windows-сервере
На Windows служба агента называется «Агент сервера 1С:Предприятия» (1C:Enterprise Server Agent). Остановить её можно через services.msc или командной строкой с правами администратора. После остановки удалите содержимое папки reg_1541, кроме файла реестра кластера, либо переименуйте папку — сервер создаст новую при запуске.
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, значит, когда-то создавались дополнительные кластеры — чистить нужно ту, что соответствует рабочему порту.
- 1Предупредите пользователей и завершите регламентные задания
- 2Скопируйте каталог srvinfo в резервное расположение
- 3Остановите службу агента сервера 1С
- 4Переименуйте или очистите папку reg_1541 (оставив копию)
- 5Запустите службу и проверьте список баз в консоли кластера
- 6Попросите пользователей подключиться и подтвердить, что ошибка ушла
Очистка кэша на Linux-сервере
На Linux логика та же: остановить службу, почистить каталог, запустить. Служба обычно называется srv1cv83 (для платформы 8.3) и управляется через systemctl. Путь к srvinfo зависит от способа установки — чаще это /opt/1cv8/x86_64/8.3.xx.xxxx или домашний каталог пользователя usr1cv8.
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
Точечное решение без отключения всех пользователей. Не очищает кэш метаданных и файлы кластера
Полная очистка серверного кэша. Требует простоя и резервной копии каталога
Типичные ошибки и как проверить результат
Самая частая ошибка — удаление файлов при работающей службе. Вторая — удаление всего srvinfo целиком, включая реестр кластера, после чего список баз в консоли пуст и базы приходится регистрировать заново вручную. Третья — чистка серверного кэша, когда проблема на клиенте: если ошибка возникает только у одного пользователя, начинать нужно с его локального кэша в %APPDATA%\1C\1cv8.
После запуска службы проверьте три вещи: служба работает и процессы 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 и завершение регламентных заданий. Если ошибка только у одного пользователя, чистите его клиентский кэш, а не сервер.