Администрирование · 12 мин
Как почистить кэш на серверной 1С
Как правильно очистить кэш на серверной 1С: где лежат папки srvinfo, как удалить reg_1541 и snccntx без потери данных, чем отличается серверный кэш от клиентского.
Серверная 1С хранит служебный кэш в каталоге srvinfo — там лежат файлы сеансовых данных, журнал регистрации кластера и вспомогательные структуры, которые платформа создаёт заново при запуске. Со временем этот кэш может накапливать повреждённые данные: пользователи жалуются на ошибки «Объект не найден», невозможность войти в базу, странное поведение форм при том, что сама база в СУБД исправна. В таких случаях очистка кэша — стандартный и безопасный приём диагностики.
Важно понимать: на сервере 1С есть не один кэш, а несколько разных областей. Это каталоги reg_1541 (или аналогичные с другим портом) внутри srvinfo, папка snccntx с контекстами сеансов, файлы блокировок, а также кэш на стороне клиентских компьютеров. Чистить их нужно по-разному, и ошибка в выборе способа может привести к остановке работы пользователей или потере журнала регистрации кластера.
Ниже разобраны конкретные пути, команды и порядок действий для Windows и Linux, а также границы безопасной самостоятельной работы — то, что можно сделать самому без риска для данных, и ситуации, где лучше остановиться.
Что именно считается кэшем на сервере 1С
Под «кэшем сервера» администраторы обычно понимают содержимое каталога srvinfo — рабочей папки кластера серверов 1С. Внутри неё находятся подкаталоги вида reg_1541 (номер зависит от порта кластера, по умолчанию 1541), в которых платформа хранит список информационных баз кластера, журнал регистрации кластера (файл 1CV8Clst.lst и связанные), файлы сеансовых данных и служебные блокировки.
Отдельно выделяют папку snccntx — это кэш контекстов сеансов. Именно её переполнение или повреждение чаще всего вызывает ошибки вида «Ошибка СУБД: сеанс отсутствует или удалён» и подобные. Папка может разрастаться до десятков гигабайт, если сеансы завершаются аварийно.
Кроме того, существует клиентский кэш метаданных на компьютерах пользователей (в профилях %APPDATA%\1C\1cv8) — его очистка решает другой класс проблем и выполняется на стороне клиента, а не сервера. Путать эти два кэша нельзя: чистка клиентского кэша не поможет при повреждении данных кластера, и наоборот.
Где находится папка srvinfo в Windows и Linux
В Windows по умолчанию каталог srvinfo располагается в профиле служебной учётной записи агента сервера: C:\Program Files\1cv8\<версия>\srvinfo либо C:\Program Files (x86)\1cv8\... для 32-разрядной установки. Если при установке агента каталог меняли, точный путь можно посмотреть в параметрах запуска службы «Агент сервера 1С:Предприятия» — он указан после ключа -d.
В Linux каталог обычно находится по пути /opt/1cv8/x86_64/<версия>/srvinfo или /home/usr1cv8/.1cv8/1C/1cv8/srvinfo, если агент запущен от пользователя usr1cv8 с настройками по умолчанию. Путь также виден в unit-файле systemd или скрипте запуска агента.
Быстрый способ найти каталог — посмотреть командную строку работающего процесса ragent. В Linux это делается одной командой:
ps aux | grep ragent | grep -v grepВ выводе найдите параметр -d — следующий за ним путь и есть каталог srvinfo. В Windows аналогичную информацию показывает «Диспетчер задач» с включённым столбцом «Командная строка» либо оснастка «Службы».
Подготовка: что сделать до очистки
Перед любыми действиями с каталогом кластера завершите работу пользователей. Активные сеансы будут разорваны при остановке службы, а незавершённые транзакции могут остаться в СУБД в подвисшем состоянии. Предупредите пользователей заранее или запланируйте работу на нерабочее время.
Сделайте копию папки srvinfo целиком — просто скопируйте её в другое место или заархивируйте. Это займёт несколько минут, но позволит вернуть список баз кластера и журнал регистрации, если что-то пойдёт не так. Резервная копия самой базы данных при очистке кэша формально не нужна, поскольку СУБД не затрагивается, но если регламентные работы и так запланированы — совместите.
Проверьте, что на сервере нет второго кластера или нескольких версий платформы, у каждой — свой каталог srvinfo. Удаление «не той» папки — частая причина того, что после чистки пропадает список баз в консоли кластера.
Очистка кэша в Windows: пошаговый порядок
Стандартная процедура для Windows-сервера выглядит так. Откройте оснастку «Службы» (services.msc), найдите службу «Агент сервера 1С:Предприятия» нужной версии и остановите её. Убедитесь в диспетчере задач, что процессы ragent.exe, rphost.exe и rmngr.exe завершились.
Перейдите в каталог srvinfo. Дальше есть два варианта: полная очистка или точечная. При полной очистке удаляется всё содержимое srvinfo — после запуска службы кластер создаст структуру заново, но список информационных баз придётся добавить в консоли кластера вручную. При точечной очистке удаляют только содержимое папок reg_1541 и snccntx, оставляя файлы верхнего уровня — так список баз сохраняется.
- 1Остановите службу «Агент сервера 1С:Предприятия» через services.msc
- 2Проверьте в диспетчере задач, что процессы ragent, rphost, rmngr завершены
- 3Скопируйте папку srvinfo в резервное место
- 4Удалите содержимое папок reg_1541 и snccntx (или всё содержимое srvinfo при полной очистке)
- 5Запустите службу агента сервера
- 6Проверьте в консоли кластера наличие баз и запустите тестовый сеанс
После запуска службы откройте консоль администрирования серверов 1С и проверьте, что кластер поднялся и базы на месте. Если список баз пуст — добавьте их заново через пункт «Создать — Информационная база», указав те же параметры подключения к СУБД.
Очистка кэша в Linux: команды и нюансы
В Linux порядок аналогичен, но выполняется через терминал. Служба агента обычно управляется через systemd или скрипт srv1cv8. Остановите службу и проверьте завершение процессов:
sudo systemctl stop srv1cv8-8.3.22-x86_64
ps aux | grep -E 'ragent|rphost|rmngr' | grep -v grepЗатем создайте резервную копию и удалите содержимое кэша. Пример для типового расположения:
sudo cp -r /opt/1cv8/x86_64/8.3.22.2283/srvinfo /backup/srvinfo_$(date +%F)
sudo rm -rf /opt/1cv8/x86_64/8.3.22.2283/srvinfo/reg_1541/<em>
sudo rm -rf /opt/1cv8/x86_64/8.3.22.2283/srvinfo/snccntx/</em>
sudo systemctl start srv1cv8-8.3.22-x86_64Обратите внимание на права доступа: после ручных операций от root каталоги могут оказаться недоступны пользователю usr1cv8, от которого работает агент. Если служба не стартует или кластер не видит базы, проверьте владельца каталога и при необходимости верните его командой chown -R usr1cv8:grp1cv8 srvinfo.
Чем отличается полная очистка от точечной
Выбор между удалением всего srvinfo и только папок reg_1541/snccntx зависит от симптомов. Если проблема в ошибках сеансов и разросшемся кэше контекстов — достаточно точечной очистки snccntx, это минимально инвазивный вариант. Если кластер не стартует, базы пропадают из консоли или появляются ошибки чтения файлов кластера — имеет смысл полная очистка с последующим пересозданием списка баз.
Сравнение вариантов
Подходит при ошибках сеансов и разрастании папки. Список баз и журнал сохраняются. Не помогает при повреждении файлов кластера.
Подходит при большинстве сбоев кластера. Список баз обычно сохраняется, журнал регистрации кластера может быть утерян.
Крайняя мера при нестабильном кластере. Требует повторного добавления всех баз в консоль и настройки параметров кластера заново.
Отдельный вопрос — журнал регистрации кластера. Он хранится внутри reg_1541 и при очистке удаляется. Если история событий кластера важна для аудита, скопируйте файлы журнала заранее или настройте их выгрузку. Журнал регистрации самой информационной базы при этом не затрагивается — он хранится в СУБД.
Проверка результата и типичные ошибки
После перезапуска службы признаком успешной очистки является чистый старт кластера: в консоли видны рабочие процессы, базы доступны, пользователи входят без ошибок. Проверьте также, что папка srvinfo начала наполняться новыми файлами — это подтверждает, что агент работает с каталогом нормально.
Как проверить результат
Процессы ragent, rmngr и rphost присутствуют, служба в статусе «Работает»
Служба останавливается сразу после запуска или процесс rphost отсутствует
Все базы на месте, свойства открываются
Список пуст — нужно добавить базы вручную
Сеанс открывается без ошибок, формы работают
Ошибки «сеанс отсутствует» повторяются — проблема глубже, чем кэш
Если после полной очистки и пересоздания баз ошибки сохраняются, проблема, скорее всего, не в кэше: проверяйте состояние СУБД, сетевую связность между сервером 1С и сервером баз данных, а также свободное место на дисках. Переполненный диск с srvinfo — частая скрытая причина повреждения кэша.
Если папка snccntx регулярно разрастается, разовая чистка не решит проблему. Настройте периодический перезапуск рабочих процессов в свойствах кластера и проверьте, не завершаются ли сеансы аварийно — например, из-за обрывов сети или принудительного завершения клиентов.
Профилактика: как не доводить до ручной чистки
Регулярная очистка кэша — симптом, а не норма эксплуатации. Если чистить srvinfo приходится чаще раза в несколько месяцев, ищите первопричину: нестабильные рабочие процессы, нехватку оперативной памяти, ошибки в коде конфигурации, приводящие к падению rphost, или проблемы с дисковой подсистемой.
Полезные профилактические меры: включить в свойствах кластера автоматический перезапуск рабочих процессов по расписанию, ограничить объём памяти на процесс, следить за свободным местом на диске с srvinfo и своевременно обновлять платформу — часть проблем с кэшем устраняется в новых релизах. Для крупных внедрений имеет смысл настроить мониторинг размера snccntx, чтобы заметить рост до появления ошибок у пользователей.
Что важно запомнить
Очистка серверного кэша 1С — это удаление содержимого srvinfo при остановленной службе агента. Данные в СУБД не затрагиваются, но список баз кластера и его журнал могут быть утеряны, поэтому сначала делается копия папки. Начинайте с точечной очистки snccntx и переходите к полной только при сохранении проблем.
Частые вопросы
Удалится ли база данных при очистке кэша сервера 1С?
Нет. Каталог srvinfo содержит только служебные данные кластера: настройки, список баз, сеансовую информацию. Сама информационная база хранится в СУБД (MS SQL, PostgreSQL и т.д.) и при очистке кэша не затрагивается. Максимум, что придётся сделать, — заново добавить базу в консоль кластера, указав параметры подключения к СУБД.
Можно ли чистить кэш без остановки работы пользователей?
Безопасно — нет. Остановка службы агента разрывает все сеансы. Теоретически можно удалять отдельные файлы snccntx на работающем сервере, но платформа может держать их открытыми, а частичное удаление способно усугубить повреждение. Планируйте операцию на нерабочее время.
Как часто нужно чистить кэш сервера 1С?
При стабильной работе кластера регулярная очистка не требуется — платформа управляет кэшем сама. Ручная чистка оправдана как диагностическая мера при ошибках сеансов, сбоях кластера или аномальном росте папки snccntx. Если потребность возникает регулярно, ищите первопричину в настройках кластера, ресурсах сервера или коде конфигурации.
Чем серверный кэш отличается от клиентского и что чистить при ошибках у одного пользователя?
Серверный кэш (srvinfo) общий для всего кластера, клиентский — локальный кэш метаданных в профиле пользователя (%APPDATA%\1C\1cv8). Если ошибка возникает только у одного пользователя или на одном компьютере, начинайте с клиентского кэша: удалите папку с идентификатором базы в каталоге 1cv8 профиля. Серверную очистку в этом случае выполнять не нужно.
Пропал список баз после очистки srvinfo — что делать?
Это ожидаемое следствие полной очистки. Откройте консоль администрирования серверов 1С, выберите кластер и добавьте базы заново через «Создать — Информационная база», указав имя, тип СУБД, сервер баз данных и имя базы в СУБД. Сами данные при этом никуда не делись — вы просто повторно регистрируете подключение. Если делали копию srvinfo, список можно восстановить из файла 1CV8Clst.lst.