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

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

Как почистить кэш серверной 1С безопасно и без потери данных

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

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

Важно понимать: кэш сервера 1С — это не данные информационной базы. Удаление кэшированных файлов не затрагивает сами данные в СУБД (MS SQL, PostgreSQL, Oracle), но при неправильных действиях можно потерять список баз кластера, настройки сеансов или вынудить всех пользователей переподключаться. Поэтому процедура требует остановки службы агента сервера и чёткого понимания, какие папки можно удалять, а какие — нельзя.

Где сервер 1С хранит кэш: структура папок

Все служебные данные кластера серверов 1С находятся в каталоге srvinfo. Его расположение зависит от операционной системы и разрядности платформы. На Windows по умолчанию это C:\Program Files\1cv8\srvinfo (для 64-разрядной версии) или C:\Program Files (x86)\1cv8\srvinfo для 32-разрядной. На Linux — обычно /opt/1cv8/x86_64/<версия>/ или каталог, указанный при установке, часто /home/usr1cv8/.1cv8/1C/1cv8/.

Внутри srvinfo ключевые элементы такие:

  • reg_1541 (номер зависит от порта кластера: 1541, 1641 и т.д.) — реестр кластера: список информационных баз, кэш метаданных, сеансовые данные. Именно здесь скапливается основной «мусорный» кэш.
  • snccntx — контексты сервера совместимости, тоже кэшируемые данные.
  • 1CV8Clst.lst — файл списка информационных баз кластера. Его удаление приведёт к потере перечня баз в консоли кластера, сами базы в СУБД при этом не пострадают.
  • 1CV8Clst.lck — файлы блокировок.
  • 1CV8Log — журналы регистрации кластера (если включены).

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

Чистка кэша — не профилактическая процедура «на всякий случай», а реакция на конкретные симптомы. Типичные признаки повреждённого или устаревшего кэша сервера:

  • Ошибка «Ошибка формата потока» при запуске базы у всех или части пользователей.
  • База не открывается после обновления конфигурации, хотя обновление прошло штатно.
  • Разные пользователи видят разное поведение одной и той же базы.
  • Ошибки вида «Сеанс отсутствует или удалён», массовые разрывы соединений.
  • Падения рабочих процессов rphost без явной причины.
  • После переноса базы или восстановления из бэкапа база ведёт себя некорректно.
Ошибка у одного пользователяПроблема на клиенте

Чистите кэш клиента в %APPDATA%\1C\1cv8, сервер трогать не нужно

Ошибка у всех пользователейПроблема на сервере или в базе

Проверьте кэш кластера, журналы СУБД и целостность базы

Ошибка после обновленияРассинхрон кэша метаданных

Чистка reg_1541 и snccntx обычно решает проблему

Падения rphostВозможны и другие причины

Проверьте память сервера, технологический журнал и логи СУБД

Подготовка: что сделать до удаления файлов

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

Порядок подготовки:

  1. Предупредите пользователей и завершите активные сеансы — через консоль кластера или консольную утилиту rac.
  2. Сделайте резервную копию всей папки srvinfo (просто скопируйте её в другое место). Это займёт несколько минут, но позволит откатиться, если что-то пойдёт не так.
  3. Зафиксируйте список баз кластера: сделайте скриншот консоли кластера или выгрузите список через rac, чтобы при необходимости быстро пересоздать регистрацию баз.
  4. Убедитесь, что у вас есть права администратора на сервере и пароль администратора кластера, если он установлен.

Пошаговая чистка кэша кластера на Windows

Стандартная процедура для Windows-сервера выглядит так:

  1. Откройте «Службы» (services.msc) и остановите службу «Агент сервера 1С:Предприятия» нужной версии. Убедитесь, что процессы ragent, rphost и rmngr завершились — проверьте в диспетчере задач.
  2. Перейдите в каталог srvinfo (например, C:\Program Files\1cv8\srvinfo).
  3. Удалите содержимое папки reg_1541. Если хотите сохранить список баз кластера, предварительно скопируйте файл 1CV8Clst.lst и верните его после чистки.
  4. Удалите содержимое папки snccntx.
  5. Запустите службу агента сервера обратно.
  6. Проверьте в консоли кластера, что базы на месте (или зарегистрируйте их заново), и попросите пользователей переподключиться.
Порядок действий
  1. 1
    Завершите сеансы пользователей и предупредите их о работах
  2. 2
    Скопируйте папку srvinfo в резервное место
  3. 3
    Остановите службу агента сервера 1С и дождитесь завершения rphost
  4. 4
    Удалите содержимое reg_1541 и snccntx (1CV8Clst.lst — по желанию сохранить)
  5. 5
    Запустите службу и проверьте список баз в консоли кластера
  6. 6
    Проверьте запуск базы у нескольких пользователей

Те же действия можно автоматизировать скриптом. Пример для командной строки с правами администратора:

bat
net stop "1C:Enterprise 8.3 Server Agent"
timeout /t 10
rd /s /q "C:\Program Files\1cv8\srvinfo\reg_1541"
rd /s /q "C:\Program Files\1cv8\srvinfo\snccntx"
net start "1C:Enterprise 8.3 Server Agent"

Точное имя службы зависит от версии платформы — проверьте его в оснастке «Службы». После перезапуска кластер пересоздаст папки reg_1541 и snccntx автоматически.

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

На Linux логика та же, меняются пути и команды управления службой. Рабочий каталог кластера обычно находится в домашней директории пользователя, под которым работает агент (чаще всего usr1cv8): /home/usr1cv8/.1cv8/1C/1cv8/ — внутри будет аналог srvinfo с reg_1541 и snccntx.

bash
sudo systemctl stop srv1cv8-8.3.22-1750
sudo rm -rf /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/<em>
sudo rm -rf /home/usr1cv8/.1cv8/1C/1cv8/snccntx/</em>
sudo systemctl start srv1cv8-8.3.22-1750

Имя юнита systemd зависит от версии платформы и способа установки — посмотрите точное имя командой systemctl list-units | grep 1c. Убедитесь, что удаляете файлы от имени пользователя с достаточными правами и что после чистки владелец пересозданных каталогов — тот же usr1cv8, иначе агент не сможет писать в каталог.

Что делать с клиентским кэшем и когда серверной чистки недостаточно

Частая ситуация: кэш сервера почистили, а ошибка у конкретного пользователя осталась. Причина — локальный кэш клиента, который хранится отдельно и серверной чисткой не затрагивается. На Windows это каталоги %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8, где кэш сгруппирован по идентификаторам баз (папки с длинными именами-GUID).

Способы очистки клиентского кэша:

  • Удалить базу из списка в стартовом окне 1С и добавить её заново — при этом старый кэш этой базы перестанет использоваться.
  • Удалить вручную папку с GUID нужной базы в %APPDATA%\1C\1cv8 при закрытом клиенте.
  • Использовать параметр запуска /ClearCache в конфигураторе для сброса кэша конкретной базы.

Сравнение вариантов чистки

Только серверный кэш (reg_1541, snccntx)

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

Только клиентский кэш

Подходит, когда ошибка у одного-двух пользователей. Не требует остановки сервера.

Оба уровня

Надёжный вариант после обновления конфигурации или переноса базы, когда источник проблемы неясен.

Типичные ошибки и риски

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

Отдельно стоит сказать о ситуации, когда чистка кэша не помогает. Если после полной очистки серверного и клиентского кэша ошибка «Ошибка формата потока» сохраняется, проблема, скорее всего, в самих данных: повреждены таблицы в СУБД или файловая база (если используется гибридная схема). В этом случае нужны тестирование и исправление конфигурации, проверка целостности на уровне СУБД и, при необходимости, восстановление из резервной копии.

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

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

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

Запущена, процессы ragent, rmngr, rphost присутствуют в диспетчере задач

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

Служба стартует и сразу падает, в журнале событий Windows ошибки

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

Все базы на месте, свойства открываются

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

Список пуст — нужно восстановить 1CV8Clst.lst из копии или зарегистрировать базы заново

Запуск базы пользователями
Норма

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

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

Ошибка повторяется — чистите клиентский кэш или проверяйте данные в СУБД

Новые папки в srvinfo
Норма

reg_1541 и snccntx пересоздались и наполняются

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

Папки не создаются — проверьте права доступа к каталогу

Удобно держать на сервере готовый bat- или sh-скрипт чистки кэша с закомментированными путями и именем службы. Когда ошибка возникает ночью или в выходной, это экономит время и снижает риск опечатки в путях при спешке.
ПЗ
Практическое замечание

FAQ

Чистка кэша сервера удалит данные информационной базы?

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

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

Нет, это небезопасно. Агент держит файлы реестра открытыми, и их удаление на работающем сервере может повредить структуру кластера и оборвать сеансы пользователей. Службу нужно остановить, дождаться завершения rphost и только потом удалять файлы.

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

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

После чистки кэша пропали базы из консоли кластера. Что делать?

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

Чистка кэша не помогла, ошибка осталась. Куда смотреть дальше?

Проверьте клиентский кэш у конкретных пользователей, затем целостность данных: запустите тестирование и исправление в конфигураторе (на копии), проверьте логи СУБД и технологический журнал сервера 1С. Если база файловая — проверьте её утилитой chdbfl.exe из состава платформы.

Отличается ли чистка кэша для разных версий платформы 8.3?

Принцип одинаков для всех версий 8.3: остановить агент, удалить reg_1541 и snccntx, запустить агент. Отличаются только пути к srvinfo и имена служб — они зависят от номера версии и разрядности установленной платформы.

Итог

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

Кэш серверной 1С — это папки reg_1541 и snccntx внутри srvinfo. Чистка выполняется только при остановленной службе агента сервера и после резервного копирования srvinfo. Данные баз в СУБД при этом не затрагиваются, но файл 1CV8Clst.lst лучше сохранить, чтобы не потерять список баз. Если ошибка остаётся после чистки — проверяйте клиентский кэш и целостность данных.