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

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

Где хранится серверный кэш 1С и как его очистить

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

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

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

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

Где физически находится серверный кэш 1С

Местоположение кэша задаётся параметром -d при запуске агента сервера 1С. Если при установке значение не меняли, используется путь по умолчанию, который зависит от операционной системы и версии платформы.

  • Windows, установка по умолчанию: C:\Program Files\1cv8\srvinfo\ (для 32-битной версии на 64-битной ОС — C:\Program Files (x86)\1cv8\srvinfo\).
  • Linux (пакеты 1С): /opt/1cv8/x86_64/<номер версии>/srvinfo; часто встречается и /var/lib/1cv8/.1cv8/1C/1cv8/, если агент запущен от пользователя srv1cv8 с домашним каталогом.
  • Нестандартный путь: смотрите параметр -d в строке запуска службы «Агент сервера 1С:Предприятия» (в реестре Windows — HKLM\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent, значение ImagePath).

Обратите внимание: если на сервере установлено несколько версий платформы и работают несколько агентов, у каждого может быть свой каталог srvinfo. Найдите активный именно через параметр запуска службы, а не по привычному пути.

powershell
Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent*' | Select-Object ImagePath

Структура каталога srvinfo: что лежит внутри

Внутри srvinfo находится один или несколько каталогов вида reg_1541, reg_2541 и т.д. Число в имени — порт агента кластера. Каждый такой каталог — это данные отдельного кластера серверов.

В каталоге кластера находятся:

  • 1CV8Clst.lst — список зарегистрированных информационных баз кластера;
  • папки с GUID в имени (например, a1b2c3d4-…) — рабочие каталоги каждой базы, именно здесь лежит кэш метаданных и скомпилированных модулей;
  • файлы журналов, блокировок и служебные данные сеансов.

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

Как найти, какая папка соответствует нужной базе

Имена GUID не говорят напрямую, какой папке какая база соответствует. Есть два рабочих способа сопоставления.

Первый — через консоль администрирования серверов 1С. Откройте свойства информационной базы в ветке кластера: там указан её GUID, который совпадает с именем папки в reg_1541. Второй способ — открыть файл 1CV8Clst.lst текстовым редактором: в нём перечислены имена баз и их идентификаторы.

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

Как найти папку кэша конкретной базы
  1. 1
    Откройте консоль администрирования серверов 1С и найдите нужную базу
  2. 2
    Скопируйте GUID базы из её свойств
  3. 3
    Откройте srvinfo\reg_1541 и найдите папку с этим GUID
  4. 4
    Проверьте по дате изменения, что папка активно используется

Когда и как безопасно очищать серверный кэш

Очистка кэша оправдана в ограниченном числе случаев: ошибки «несоответствие версии метаданных» после обновления, странное поведение фоновых заданий, рост srvinfo до критического объёма, перенос базы на другой сервер. Регулярная очистка «для профилактики» не нужна — после неё первый запуск каждой базы замедляется, потому что кэш строится заново.

Порядок безопасной очистки:

  1. Завершите сеансы пользователей в консоли кластера или дождитесь нерабочего времени.
  2. Остановите службу «Агент сервера 1С:Предприятия» (net stop "1C:Enterprise 8.3 Server Agent" или systemctl stop srv1cv83 на Linux).
  3. Удалите содержимое папок с GUID нужных баз внутри reg_1541, не трогая 1CV8Clst.lst и сам каталог кластера.
  4. Запустите службу и проверьте вход в базу.

Более мягкая альтернатива полной остановке — команда rac cluster … --kill-process не применяется, но можно перезапустить только рабочие процессы или использовать параметр кластера, сбрасывающий кэш при рестарте. На практике чаще всего достаточно остановки службы на несколько минут.

Отличие серверного кэша от клиентского

Частая путаница: администратор чистит кэш на сервере, а проблема у конкретного пользователя остаётся, потому что у него повреждён клиентский кэш. Это разные хранилища.

ПараметрСерверный кэшКлиентский кэш
Расположениеsrvinfo\reg_1541 на сервере%APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 у пользователя
Что хранитМетаданные, скомпилированные модули, данные сеансовМетаданные конфигурации, настройки интерфейса
Когда чиститьОшибки у всех пользователей базы сразуОшибки только у одного пользователя или компьютера
Условие очисткиОстановка службы агентаЗакрытый клиент 1С у пользователя

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

Маршрут решения

Как выбрать действие

Ошибка у всех пользователей базы после обновленияОстановите агент сервера и очистите папку GUID базы в srvinfo
Ошибка только у одного пользователяОчистите клиентский кэш в профиле этого пользователя
srvinfo занимает десятки ГБУдалите папки GUID неактивных и старых версий кэша при остановленной службе
База перенесена на новый серверЗарегистрируйте базу заново, старый srvinfo не переносите

Типичные ошибки при работе с srvinfo

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

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

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

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

Контроль объёма и профилактика

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

Полезные меры: размещать srvinfo не на системном диске (путь задаётся параметром -d службы агента), удалять регистрацию неиспользуемых баз из кластера вместе с их GUID-папками и планировать очистку кэша только после крупных обновлений, а не по расписанию.

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

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

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

Служба в состоянии «Работает», процессы ragent, rmngr, rphost в памяти

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

Служба не стартует — смотрите журнал событий Windows или syslog

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

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

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

Ошибка регистрации базы — проверьте, не удалён ли 1CV8Clst.lst

Размер srvinfo
Норма

Каталог заметно уменьшился и растёт умеренно

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

Объём быстро возвращается — ищите причину в обновлениях или неактивных базах

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

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

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

Почему после очистки кэша база долго открывается первый раз?

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

Где хранится кэш, если 1С работает в файловом режиме?

В файловом режиме серверного кэша нет — используется только клиентский кэш в профиле пользователя (%APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8) и служебные файлы рядом с базой. Каталог srvinfo относится только к клиент-серверному варианту работы.

Как узнать, какие GUID-папки в srvinfo можно удалить?

Сопоставьте GUID папок со списком баз в консоли кластера или в файле 1CV8Clst.lst. Папки, которым нет соответствия среди активных баз, — остатки удалённых регистраций, их можно убрать при остановленной службе. Сомнительные папки лучше сначала переименовать, а не удалять.

Можно ли перенести srvinfo на другой диск?

Да. Остановите службу агента, перенесите каталог, измените параметр -d в строке запуска службы (через реестр Windows или unit-файл systemd) и запустите службу. Это стандартный способ разгрузить системный диск.

Помогает ли очистка кэша при ошибках «несоответствие версии» после обновления?

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

Итог

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

Серверный кэш 1С лежит в srvinfo\reg_1541 внутри папок с GUID баз; точный путь смотрите в параметре -d службы агента. Очищать его можно только при остановленной службе, не трогая 1CV8Clst.lst. Массовые ошибки — к серверному кэшу, локальные у одного пользователя — к клиентскому.