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

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

Как почистить кэш сервера 1С: полное руководство

Как очистить кэш сервера 1С: каталоги srvinfo, регистрационные данные, сеансы и безопасный порядок действий. Разбор ошибок после очистки и советы администратору.

Кэш сервера 1С — это служебные данные, которые кластер серверов сохраняет для ускорения работы: метаданные конфигураций, сеансовые сведения, временные файлы фоновых заданий. Со временем эти данные устаревают или повреждаются, и пользователи начинают видеть странные ошибки: «Объект не найден», конфликты блокировок, невозможность войти в базу при том, что пароль верный.

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

Ниже разобрано, где именно хранится кэш, как его правильно очистить на Windows и Linux, что делать, если проблема не ушла, и какие действия выполнять категорически нельзя.

Что такое кэш сервера 1С и когда его нужно чистить

Сервер 1С:Предприятия кэширует метаданные конфигураций, результаты компиляции модулей, данные сеансов и служебную информацию кластера. Это ускоряет запуск баз и выполнение запросов, но при сбоях (аварийное завершение сервера, обновление конфигурации, переполнение диска) кэш может стать неконсистентным.

Типичные симптомы, при которых очистка кэша помогает:

  • ошибка «Объект не найден» при обращении к существующим объектам;
  • пользователь не может войти в базу, хотя логин и пароль верны;
  • после обновления конфигурации у части пользователей старое поведение программы;
  • ошибки вида «Сеанс отсутствует или удален», зависшие сеансы в консоли;
  • резкий рост каталога srvinfo и нехватка места на диске.

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

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

Внутри reg_1541 важны следующие элементы:

  • 1CV8Clst.lst — список зарегистрированных информационных баз кластера. Удалять нельзя;
  • 1CV8Clsto.lst — резервные/служебные данные кластера, трогать нежелательно;
  • каталог snccntx — кэш контекстов сеансов, основной кандидат на очистку;
  • файлы .dat, .mdo, временные файлы — кэш метаданных и сеансовые данные.

Подготовка перед очисткой

Очистка кэша требует остановки службы сервера, поэтому работы нужно планировать на нерабочее время. Порядок подготовки:

  1. Предупредите пользователей о плановом перерыве в работе.
  2. В консоли кластера завершите активные сеансы и проверьте, что нет выполняющихся регламентных заданий.
  3. Сделайте резервную копию каталога srvinfo целиком — это займет несколько минут, но позволит откатиться.
  4. Убедитесь, что у вас есть права администратора на сервере и доступ к консоли управления кластером.

Если база файловая (без сервера 1С), останавливать службы не нужно — достаточно очистить клиентский кэш на компьютерах пользователей, это отдельная процедура, описанная ниже.

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

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

Остановить службу можно и из командной строки с правами администратора:

cmd
net stop "1C:Enterprise 8.3 Server Agent"
:: удаление кэша (путь подставьте свой)
rmdir /s /q "C:\Program Files\1cv8\srvinfo\reg_1541\snccntx"
net start "1C:Enterprise 8.3 Server Agent"

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

Очистка кэша на Linux

На Linux логика та же: остановить агент сервера, удалить кэш, запустить. Имя службы зависит от способа установки, чаще это srv1cv8 или systemd-юнит вида srv1cv8-8.3.xx.

bash
sudo systemctl stop srv1cv8
# найти каталог srvinfo
sudo find / -type d -name "reg_1541" 2>/dev/null
# удалить кэш сеансов
sudo rm -rf /путь/к/srvinfo/reg_1541/snccntx
sudo systemctl start srv1cv8

Обратите внимание на владельца файлов: каталог srvinfo должен принадлежать пользователю, под которым работает агент сервера (обычно usr1cv8). Если после очистки сервер не стартует, проверьте права командой ls -la и при необходимости выполните chown -R usr1cv8:grp1cv8 srvinfo.

Очистка клиентского кэша как дополнение

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

  • %APPDATA%\1C\1cv8\ — кэш, привязанный к идентификатору базы;
  • %LOCALAPPDATA%\1C\1cv8\ — дополнительные служебные данные.

Чтобы очистить клиентский кэш, закройте все сеансы 1С на компьютере и удалите папки с длинными именами-GUID внутри указанных каталогов. Альтернатива без удаления файлов — запустить базу с параметром командной строки /ClearCache, но он очищает кэш только для текущего запуска.

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

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

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

Вход в базу
Норма

Пользователи входят без ошибок, список баз в консоли кластера на месте

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

Базы пропали из консоли — восстановите 1CV8Clst.lst из копии

Регламентные задания
Норма

Задания выполняются по расписанию

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

Задания не запускаются — проверьте, что служба агента запущена и есть сеанс с правами

Скорость первого входа
Норма

Первый вход медленнее обычного, далее нормально

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

Постоянные тормоза — проблема не в кэше, смотрите нагрузку на СУБД

Типичные ошибки
01
Удаление всего srvinfo без копии — теряется список баз кластера, приходится регистрировать базы заново
02
Очистка без остановки службы — файлы заняты процессом, часть удаляется, часть нет, кэш остается в противоречивом состоянии
03
Чистка только серверного кэша при клиентской проблеме — ошибка у пользователя не уходит, время потеряно
04
Перепутанные порты: в кластере несколько reg_xxxx, очищен не тот каталог, что обслуживает нужную базу

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

Профилактика: как снизить частоту проблем с кэшем

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

Для крупных внедрений имеет смысл настроить скрипт плановой очистки snccntx в ночное окно обслуживания — это дешевле, чем разбирать аварийные обращения пользователей днем.

Итог

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

Кэш сервера 1С очищается через остановку службы агента и удаление содержимого reg_1541 (прежде всего snccntx) с обязательным сохранением файлов 1CV8Clst.lst и 1CV8Clsto.lst. Перед работой сделайте копию srvinfo, после — проверьте вход в базы и регламентные задания. Если ошибка точечная у одного пользователя — чистите клиентский кэш в его профиле.

Частые вопросы

Удалится ли база данных при очистке кэша сервера?

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

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

Регламентной периодичности нет — очистка выполняется по факту проблем: ошибки сеансов, «Объект не найден», зависшие соединения. Если инциденты повторяются регулярно, стоит искать первопричину (переполнение диска, аварийные остановки сервера), а не чистить кэш чаще.

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

Корректно — нет. Файлы кэша заняты процессом агента сервера, и удаление «на горячую» даст частичный результат и может ухудшить ситуацию. Минимизируйте простой: завершите сеансы через консоль кластера, остановите службу, очистите, запустите — при подготовке вся операция занимает несколько минут.

Чем отличается серверный кэш от клиентского?

Серверный кэш в srvinfo общий для всех пользователей базы и хранит метаданные и контексты сеансов. Клиентский кэш находится на компьютере каждого пользователя в профиле (%APPDATA%\1C\1cv8) и отвечает за локальное ускорение тонкого клиента. Если ошибка у всех — чистите серверный, если у одного пользователя — клиентский.

Что делать, если после очистки базы пропали из консоли кластера?

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