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

Администрирование · 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

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

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

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

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

На Linux логика та же: сначала остановка демона, затем удаление кэша, затем запуск. Команды выполняются от root или через sudo. Имя службы зависит от версии платформы и способа установки, типовой вариант — srv1cv83.

bash
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 через сутки работы
Норма

Каталог растёт умеренно, в пределах рабочих объёмов

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

Быстрый рост повторяется — ищите источник: фоновые задания, большие сеансовые данные

Частые ошибки и профилактика

Типичные ошибки
01
Удаление папки srvinfo целиком вместе с 1CV8Clst.lst — после этого все базы приходится прописывать в кластере заново
02
Очистка кэша без остановки службы — файлы заблокированы, часть удаляется, часть нет, кластер стартует с повреждёнными данными
03
Чистка только серверного кэша, когда проблема на клиенте — ошибка формата потока у одного пользователя чаще лечится удалением клиентского кэша в %APPDATA%\1C\1cv8
04
Отсутствие резервной копии srvinfo перед операцией — при ошибке нечего восстановить
05
Игнорирование причины разрастания кэша — если не найти источник (например, регламентное задание, генерирующее огромные сеансовые данные), проблема вернётся через несколько дней

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

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

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

Ошибка формата потока у одного пользователяСначала очистите клиентский кэш на его компьютере, серверный не трогайте
Ошибки у всех пользователей после сбоя питания или обновленияОстановите агент, удалите snccntx и временные файлы сеансов, запустите службу
srvinfo занимает десятки гигабайтПроанализируйте содержимое: заархивируйте журналы, удалите кэш, найдите процесс, генерирующий данные
Кластер не стартует даже после очистки кэшаВосстановите srvinfo из копии и проводите полную диагностику платформы и дисковой подсистемы
Итог

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

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

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

Нужно ли чистить кэш сервера 1С регулярно «для профилактики»?

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

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

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

Потеряются ли данные информационных баз при очистке кэша?

Нет. Кэш — это производные данные, которые платформа пересоздаёт автоматически. Сами данные хранятся в базе данных на СУБД (или в файле .1CD для файловых баз) и очисткой кэша не затрагиваются. Риск существует только при ошибочном удалении списка баз 1CV8Clst.lst — тогда придётся заново регистрировать базы в кластере, но и в этом случае сами данные не пострадают.

Сколько времени занимает процедура очистки?

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

Ошибка «Ошибка формата потока» не исчезла после чистки кэша. Что дальше?

Значит, причина не в кэше. Следующие шаги диагностики: проверить, очищен ли клиентский кэш у пострадавших пользователей, выполнить тестирование и исправление информационной базы, проверить целостность данных на уровне СУБД, изучить технологический журнал на предмет ошибок в момент возникновения проблемы. В части случаев источником оказывается конкретный объект конфигурации или повреждённая таблица.

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

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