Администрирование · 12 мин
Как почистить кэш сервера 1С: полная инструкция для администратора
Как почистить кэш сервера 1С: где хранятся srvinfo, reg_1541 и snccntx, как безопасно удалить кэш, перезапустить агент и проверить результат работы.
Кэш сервера 1С — это служебные данные, которые кластер серверов создаёт для ускорения работы: метаданные конфигураций, сеансовые данные, промежуточные результаты компиляции модулей. Со временем кэш может накапливать устаревшие или повреждённые фрагменты, и тогда возникают типичные симптомы: ошибки формата потока, «фантомные» сообщения об отсутствии объектов, которых на самом деле нет, расхождение поведения базы у разных пользователей, зависание сеансов при обновлении конфигурации.
Чистка серверного кэша — штатная административная операция, но у неё есть важное условие: удалять файлы нужно только при остановленном агенте сервера 1С. Удаление «на живую» при работающем кластере может привести к повреждению служебных файлов и невозможности старта кластера. Поэтому процедура всегда выполняется в регламентное окно, когда пользователи не работают.
Ниже разобрано, где физически лежит кэш на Windows и Linux, какие каталоги можно удалять, а какие трогать нельзя, как выполнить очистку по шагам и как убедиться, что после перезапуска всё работает корректно.
Что такое кэш сервера 1С и когда его нужно чистить
Кластер серверов 1С кэширует данные на уровне рабочих процессов и на уровне файловой системы. В оперативной памяти держатся скомпилированные модули и метаданные, а на диске — служебные каталоги внутри папки srvinfo: журнал регистрации кластера, список информационных баз, снимки сеансовых данных и кэш контекстов (snccntx). Именно файловый кэш чаще всего становится источником проблем после аварийного завершения работы сервера, перебоев с питанием или нештатного обновления платформы.
Признаки того, что кэш пора чистить: ошибка «Ошибка формата потока» при входе в базу или при выполнении отдельных операций; сообщения о несоответствии версий метаданных; ситуация, когда после обновления конфигурации часть пользователей видит старое поведение; необъяснимый рост каталога srvinfo до десятков гигабайт; ошибки при старте рабочих процессов кластера. Если симптомы проявляются у всех пользователей сразу — вероятнее проблема в серверном кэше, если у одного — сначала проверьте клиентский кэш на его компьютере.
Где находится кэш сервера 1С на Windows и Linux
На Windows кэш агента сервера по умолчанию располагается в профиле служебного пользователя, под которым работает служба «Агент сервера 1С:Предприятия». Типовые пути: C:\Program Files\1cv8\<версия>\bin — это каталог программы, а данные кластера лежат отдельно: C:\Program Files\1cv8\srvinfo либо C:\Users\USR1CV8\AppData\Local\1C\1cv8 — в зависимости от того, как был установлен и настроен сервер. Точный путь можно посмотреть в свойствах службы агента: параметр запуска -d указывает на каталог кластера.
На Linux кэш обычно находится в домашнем каталоге пользователя, под которым запущен агент: /home/usr1cv8/.1cv8/1C/1cv8/, либо в каталоге, заданном параметром -d при запуске демона. Внутри находится папка srvinfo, а в ней — подкаталоги вида reg_1541 (номер зависит от порта кластера), snccntx, файлы 1CV8Clst.lst, 1CV8Clsto.lst и журналы.
Что можно удалять, а что трогать нельзя
Внутри srvinfo содержимое делится на три группы. Первая — данные, которые удалять нельзя: файл списка баз 1CV8Clst.lst и, если он нужен для анализа, журнал регистрации кластера (папка с файлами 1Cv8Log). Вторая группа — кэш, который безопасно удаляется: каталог snccntx (кэш сеансовых данных и контекстов), содержимое подпапок reg_1541 с временными файлами сеансов, файлы блокировок *.lck, оставшиеся после аварийной остановки. Третья группа — журналы и дампы: их можно архивировать и удалять для освобождения места, но это не влияет на работоспособность кэша.
Если задача — именно сбросить кэш, а не пересоздавать кластер, достаточно удалить каталог snccntx и временные файлы внутри reg_1541. Радикальный вариант — удаление всей папки reg_1541 целиком вместе со списком баз — оправдан только при серьёзном повреждении данных кластера и требует последующей перерегистрации всех баз вручную.
| Объект в srvinfo | Назначение | Можно удалять |
|---|---|---|
| 1CV8Clst.lst | Список информационных баз кластера | Нет |
| snccntx | Кэш сеансовых данных и контекстов | Да, при остановленной службе |
| reg_1541 (временные файлы сеансов) | Сеансовые данные кластера | Да, при остановленной службе |
| 1Cv8Log | Журнал регистрации кластера | Только после архивации |
| Файлы *.lck | Блокировки, оставшиеся после сбоя | Да, при остановленной службе |
Пошаговая очистка кэша на Windows
Перед началом убедитесь, что у вас есть права администратора на сервере и согласованное окно простоя. Активные сеансы пользователей будут принудительно завершены, поэтому предупредите сотрудников заранее или выполняйте процедуру в нерабочее время.
- 1Откройте services.msc и остановите службу «Агент сервера 1С:Предприятия» нужной версии платформы
- 2Дождитесь полной остановки: в диспетчере задач не должно остаться процессов ragent, rmngr и rphost
- 3Перейдите в каталог srvinfo (точный путь смотрите в параметре -d в свойствах службы)
- 4Удалите папку snccntx и временные файлы внутри reg_1541, не трогая 1CV8Clst.lst
- 5Запустите службу агента сервера и проверьте, что базы видны в консоли кластера
- 6Войдите в одну из баз тестовым сеансом и убедитесь, что ошибки исчезли
После запуска службы кластер пересоздаст кэш автоматически при первом обращении к базам. Первый вход пользователей может занять заметно больше времени, чем обычно, — это нормально: платформа заново компилирует модули и заполняет кэш. Последующие сеансы будут открываться со штатной скоростью.
Пошаговая очистка кэша на Linux
На Linux логика та же: сначала остановка демона, затем удаление кэша, затем запуск. Команды выполняются от root или через sudo. Имя службы зависит от версии платформы и способа установки, типовой вариант — srv1cv83.
systemctl stop srv1cv83
ps aux | grep -E 'ragent|rmngr|rphost'
rm -rf /home/usr1cv8/.1cv8/1C/1cv8/srvinfo/snccntx
systemctl start srv1cv83
tail -f /home/usr1cv8/.1cv8/1C/1cv8/srvinfo/reg_1541/*.logКоманда ps aux нужна, чтобы убедиться, что все процессы кластера завершились: если рабочие процессы rphost «зависли», остановка службы может не убить их, и тогда файлы кэша останутся заблокированными. В этом случае завершите процессы принудительно и только потом удаляйте каталоги. После старта службы проверьте журнал кластера — там не должно быть ошибок открытия файлов.
Как проверить результат и не навредить системе
Проверка состоит из трёх шагов. Первый — служба агента запущена и не падает: на Windows статус «Выполняется» в services.msc, на Linux systemctl status srv1cv83 показывает active (running). Второй — в консоли администрирования кластера видны все информационные базы и рабочие процессы. Третий — реальный вход в базу под тестовой учётной записью и выполнение операции, которая раньше вызывала ошибку.
Как проверить результат
Служба работает, процессы ragent, rmngr, rphost присутствуют
Служба останавливается сразу после запуска, ошибки в журнале событий
Все базы на месте, свойства открываются
Список пуст — был удалён 1CV8Clst.lst, базы нужно перерегистрировать
Ошибка формата потока не воспроизводится
Ошибка осталась — проблема не в кэше, нужна диагностика базы (ТиИ, проверка СУБД)
Каталог растёт умеренно, в пределах рабочих объёмов
Быстрый рост повторяется — ищите источник: фоновые задания, большие сеансовые данные
Частые ошибки и профилактика
Чтобы кэш не разрастался и не повреждался, достаточно простой профилактики: периодически контролируйте размер srvinfo, настройте ротацию или архивацию журналов кластера, следите за корректным завершением работы сервера (аварийные отключения питания — главная причина битого кэша, поэтому источник бесперебойного питания для сервера 1С обязателен). Некоторые администраторы настраивают плановую ночную перезагрузку службы агента — это сбрасывает кэш в памяти и снижает вероятность накопления проблем.
Как выбрать действие
Что важно запомнить
Серверный кэш 1С живёт в каталоге srvinfo, чистится только при остановленной службе агента, а файл списка баз 1CV8Clst.lst удалять нельзя. После перезапуска кластер сам пересоздаст кэш — проверьте результат входом в базу и повторением ранее проблемной операции.
Частые вопросы
Нужно ли чистить кэш сервера 1С регулярно «для профилактики»?
Обязательной регулярной процедуры нет: кластер сам управляет своим кэшем. Чистка нужна как реакция на конкретные симптомы — ошибки формата потока, расхождение поведения после обновления, аварийные остановки. Регулярной может быть только перезагрузка службы агента и контроль размера srvinfo.
Чем отличается серверный кэш от клиентского кэша 1С?
Клиентский кэш хранится на компьютере пользователя в профиле (%APPDATA%\1C и %LOCALAPPDATA%\1C) и содержит метаданные конфигурации для тонкого и толстого клиента. Серверный кэш находится в srvinfo на сервере и обслуживает весь кластер. Ошибки у одного пользователя почти всегда лечатся клиентским кэшем, массовые ошибки — серверным.
Потеряются ли данные информационных баз при очистке кэша?
Нет. Кэш — это производные данные, которые платформа пересоздаёт автоматически. Сами данные хранятся в базе данных на СУБД (или в файле .1CD для файловых баз) и очисткой кэша не затрагиваются. Риск существует только при ошибочном удалении списка баз 1CV8Clst.lst — тогда придётся заново регистрировать базы в кластере, но и в этом случае сами данные не пострадают.
Сколько времени занимает процедура очистки?
Сама очистка — несколько минут: остановка службы, удаление каталогов, запуск. Основное время уходит на согласование окна простоя и последующую проверку. Учтите, что первый вход пользователей после чистки будет медленнее обычного, пока кластер заново заполнит кэш.
Ошибка «Ошибка формата потока» не исчезла после чистки кэша. Что дальше?
Значит, причина не в кэше. Следующие шаги диагностики: проверить, очищен ли клиентский кэш у пострадавших пользователей, выполнить тестирование и исправление информационной базы, проверить целостность данных на уровне СУБД, изучить технологический журнал на предмет ошибок в момент возникновения проблемы. В части случаев источником оказывается конкретный объект конфигурации или повреждённая таблица.
Можно ли почистить кэш без остановки работы пользователей?
Полноценно — нет: файлы кэша заблокированы работающими процессами кластера. Компромиссный вариант для многобазовых серверов — перезапуск отдельных рабочих процессов через консоль кластера, что сбрасывает кэш в памяти, но файловый кэш snccntx всё равно корректно удаляется только при остановленном агенте.