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

Администрирование · 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 это делается одной командой:

bash
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, оставляя файлы верхнего уровня — так список баз сохраняется.

Порядок действий в Windows
  1. 1
    Остановите службу «Агент сервера 1С:Предприятия» через services.msc
  2. 2
    Проверьте в диспетчере задач, что процессы ragent, rphost, rmngr завершены
  3. 3
    Скопируйте папку srvinfo в резервное место
  4. 4
    Удалите содержимое папок reg_1541 и snccntx (или всё содержимое srvinfo при полной очистке)
  5. 5
    Запустите службу агента сервера
  6. 6
    Проверьте в консоли кластера наличие баз и запустите тестовый сеанс

После запуска службы откройте консоль администрирования серверов 1С и проверьте, что кластер поднялся и базы на месте. Если список баз пуст — добавьте их заново через пункт «Создать — Информационная база», указав те же параметры подключения к СУБД.

Очистка кэша в Linux: команды и нюансы

В Linux порядок аналогичен, но выполняется через терминал. Служба агента обычно управляется через systemd или скрипт srv1cv8. Остановите службу и проверьте завершение процессов:

bash
sudo systemctl stop srv1cv8-8.3.22-x86_64
ps aux | grep -E 'ragent|rphost|rmngr' | grep -v grep

Затем создайте резервную копию и удалите содержимое кэша. Пример для типового расположения:

bash
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, это минимально инвазивный вариант. Если кластер не стартует, базы пропадают из консоли или появляются ошибки чтения файлов кластера — имеет смысл полная очистка с последующим пересозданием списка баз.

Сравнение вариантов

Точечная очистка snccntx

Подходит при ошибках сеансов и разрастании папки. Список баз и журнал сохраняются. Не помогает при повреждении файлов кластера.

Очистка reg_1541 и snccntx

Подходит при большинстве сбоев кластера. Список баз обычно сохраняется, журнал регистрации кластера может быть утерян.

Полная очистка srvinfo

Крайняя мера при нестабильном кластере. Требует повторного добавления всех баз в консоль и настройки параметров кластера заново.

Отдельный вопрос — журнал регистрации кластера. Он хранится внутри reg_1541 и при очистке удаляется. Если история событий кластера важна для аудита, скопируйте файлы журнала заранее или настройте их выгрузку. Журнал регистрации самой информационной базы при этом не затрагивается — он хранится в СУБД.

Проверка результата и типичные ошибки

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

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

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

Служба агента запущена
Норма

Процессы ragent, rmngr и rphost присутствуют, служба в статусе «Работает»

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

Служба останавливается сразу после запуска или процесс rphost отсутствует

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

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

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

Список пуст — нужно добавить базы вручную

Вход пользователя в базу
Норма

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

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

Ошибки «сеанс отсутствует» повторяются — проблема глубже, чем кэш

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

Типичные ошибки
01
Удаление srvinfo при работающей службе — кластер перезаписывает файлы, итоговое состояние непредсказуемо
02
Отсутствие копии папки — при полной очистке теряется список баз и журнал регистрации кластера без возможности восстановления
03
Чистка серверного кэша вместо клиентского — ошибки конкретного компьютера решаются удалением кэша в профиле пользователя, а не на сервере
04
Смена владельца каталога в Linux после ручных операций от root — агент не может писать в 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.