Администрирование · 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 обычно решает проблему
Проверьте память сервера, технологический журнал и логи СУБД
Подготовка: что сделать до удаления файлов
Главное правило: кэш сервера 1С нельзя удалять «на горячую», при работающем агенте сервера. Файлы реестра кластера открыты службой, и их удаление в работающем состоянии может повредить структуру кластера и привести к аварийной остановке всех сеансов с потерей несохранённых данных пользователей.
Порядок подготовки:
- Предупредите пользователей и завершите активные сеансы — через консоль кластера или консольную утилиту rac.
- Сделайте резервную копию всей папки srvinfo (просто скопируйте её в другое место). Это займёт несколько минут, но позволит откатиться, если что-то пойдёт не так.
- Зафиксируйте список баз кластера: сделайте скриншот консоли кластера или выгрузите список через rac, чтобы при необходимости быстро пересоздать регистрацию баз.
- Убедитесь, что у вас есть права администратора на сервере и пароль администратора кластера, если он установлен.
Пошаговая чистка кэша кластера на Windows
Стандартная процедура для Windows-сервера выглядит так:
- Откройте «Службы» (services.msc) и остановите службу «Агент сервера 1С:Предприятия» нужной версии. Убедитесь, что процессы ragent, rphost и rmngr завершились — проверьте в диспетчере задач.
- Перейдите в каталог srvinfo (например,
C:\Program Files\1cv8\srvinfo). - Удалите содержимое папки
reg_1541. Если хотите сохранить список баз кластера, предварительно скопируйте файл1CV8Clst.lstи верните его после чистки. - Удалите содержимое папки
snccntx. - Запустите службу агента сервера обратно.
- Проверьте в консоли кластера, что базы на месте (или зарегистрируйте их заново), и попросите пользователей переподключиться.
- 1Завершите сеансы пользователей и предупредите их о работах
- 2Скопируйте папку srvinfo в резервное место
- 3Остановите службу агента сервера 1С и дождитесь завершения rphost
- 4Удалите содержимое reg_1541 и snccntx (1CV8Clst.lst — по желанию сохранить)
- 5Запустите службу и проверьте список баз в консоли кластера
- 6Проверьте запуск базы у нескольких пользователей
Те же действия можно автоматизировать скриптом. Пример для командной строки с правами администратора:
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.
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в конфигураторе для сброса кэша конкретной базы.
Сравнение вариантов чистки
Подходит при массовых ошибках у всех пользователей. Требует остановки службы и окна обслуживания.
Подходит, когда ошибка у одного-двух пользователей. Не требует остановки сервера.
Надёжный вариант после обновления конфигурации или переноса базы, когда источник проблемы неясен.
Типичные ошибки и риски
Отдельно стоит сказать о ситуации, когда чистка кэша не помогает. Если после полной очистки серверного и клиентского кэша ошибка «Ошибка формата потока» сохраняется, проблема, скорее всего, в самих данных: повреждены таблицы в СУБД или файловая база (если используется гибридная схема). В этом случае нужны тестирование и исправление конфигурации, проверка целостности на уровне СУБД и, при необходимости, восстановление из резервной копии.
Как проверить результат
Запущена, процессы ragent, rmngr, rphost присутствуют в диспетчере задач
Служба стартует и сразу падает, в журнале событий Windows ошибки
Все базы на месте, свойства открываются
Список пуст — нужно восстановить 1CV8Clst.lst из копии или зарегистрировать базы заново
База открывается, ошибки формата потока нет
Ошибка повторяется — чистите клиентский кэш или проверяйте данные в СУБД
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 лучше сохранить, чтобы не потерять список баз. Если ошибка остаётся после чистки — проверяйте клиентский кэш и целостность данных.