Сброс кэша сервера 1С: что чистить на сервере, а что на клиенте
Содержание
Кэш 1С лежит в двух местах: на рабочем месте пользователя и на сервере. Чаще всего помогает очистка клиентского кэша: это безопасно и занимает минуту. Серверный кэш чистят реже и только с остановкой службы, поэтому начинайте с лёгкого варианта и идите к тяжёлому.
Если база «глючит» только у одного человека, дело почти всегда в его локальных файлах. Если странности у всех сразу, после обновления или смены конфигурации, смотрите серверную часть: служебные папки кластера, сессии и временные таблицы в СУБД.
Всё, что описано ниже, делайте вне рабочего времени. Перед удалением файлов на сервере сохраните резервную копию базы и согласуйте окно с руководителем.
Где 1С хранит временные данные
Сначала разберёмся, что именно называют «кэшем». Это не одно место, а четыре слоя.
| Слой | Где лежит | Что хранит |
|---|---|---|
| Клиентский кэш | профиль пользователя Windows, каталог 1C\1cv8 | копия конфигурации, настройки окон, список баз |
| Кэш кластера | каталог данных кластера (reg_1541 и вложенные папки) | серверные контексты сеансов, служебные файлы |
| Кэш СУБД | память и временные объекты PostgreSQL или MS SQL | планы запросов, временные таблицы |
| Кэш браузера | профиль браузера | скрипты и стили веб-клиента |
Что чистить, зависит от симптома:
- 🧩 Не видна новая форма или кнопка после обновления: клиентский кэш.
- 🐌 Сервер тормозит после долгой работы без перезапуска: серверные контексты и сессии.
- 💾 Растёт диск с временными данными: каталог кластера и СУБД.
- 🌐 Странности только в веб-клиенте: кэш браузера.
Сбросить кэш на клиентском рабочем месте
Это первое, что стоит попробовать. Данные пользователя не пострадают: хранятся они в базе, а не в кэше.
Способ 1. Удаление каталогов вручную
- Закройте все окна 1С у пользователя. Проверьте диспетчер задач: процесс
1cv8или1cv8cне должен висеть. - Откройте проводник и введите в адресной строке
%APPDATA%\1C\1cv8. - Внутри вы увидите папки с длинными именами из букв и цифр. Это идентификаторы баз. Удалите их.
- Повторите то же для
%LOCALAPPDATA%\1C\1cv8. - Запустите 1С. Первый вход будет чуть медленнее: клиент заново получит конфигурацию.
Файл со списком баз ibases.v8i в %APPDATA%\1C\1CEStart не удаляйте, иначе придётся добавлять информационные базы заново. Удаляйте только папки с идентификаторами внутри 1cv8.
Способ 2. Параметр запуска
Для тонкого клиента
и конфигуратора есть ключ командной строки /ClearCache. Создайте ярлык или запустите из командной строки:
"C:\Program Files\1cv8\8.3.25.1445\bin\1cv8.exe" ENTERPRISE /ClearCache
Номер версии в пути подставьте свой. Ключ очищает кэш клиент-серверных вызовов при запуске, вручную ничего удалять не нужно.
Для массового сброса у десятка пользователей проще раздать им готовый .bat-файл с удалением папок, чем обходить рабочие места.
Способ 3. Веб-клиент
Если база открыта в браузере, очистите кэш и cookie сайта (Ctrl+Shift+Delete), затем перезагрузите страницу через Ctrl+F5. Серверную часть при этом трогать не нужно.
Очистить кэш и временные файлы на сервере 1С
Здесь порядок важен. Папки кластера нельзя удалять, пока служба работает: сервер держит их открытыми, а часть файлов может испортиться.
Шаг 1. Предупредите пользователей и завершите сеансы
Откройте консоль администрирования серверов 1С, выберите кластер, раздел «Сеансы». Отправьте сообщение и завершите работу пользователей. Если нужно сделать это из командной строки, используйте утилиту rac:
rac session list --cluster=<идентификатор_кластера>
rac session terminate --cluster=<идентификатор_кластера> --session=<идентификатор_сеанса>
Идентификатор кластера покажет команда rac cluster list.
Шаг 2. Остановите службу
В оснастке «Службы» Windows найдите «Агент сервера 1С:Предприятия 8.3» и остановите её. На Linux это делается через systemctl stop для соответствующего юнита. Убедитесь, что процессы ragent, rmngr и rphost исчезли из диспетчера задач. Если висит rphost, завершите его вручную.
Шаг 3. Очистите служебный каталог
Перейдите в каталог данных кластера. Его путь вы задавали при установке: он указан в параметрах службы после ключа -d. Внутри лежит папка вида reg_1541 (число совпадает с портом основного менеджера кластера). В ней есть вложенные папки:
- 🗂
snccntx…с номером: контексты сеансов. Их можно удалять, сервер создаст заново. - 📄 Папки с GUID баз: содержат служебные файлы конкретной базы.
Файлы 1CV8Clst.lst и 1CV8Reg.lst не удаляйте: это реестр кластера. Потеряете его, придётся создавать кластер заново, со всеми базами и настройками.
Практичное правило: удаляйте только папки snccntx* и временные файлы *.tmp, остальное оставьте.
Шаг 4. Запустите службу и проверьте
Запустите агент сервера, откройте базу, проведите один-два документа, откройте тяжёлый отчёт. Первые минуты сервер «прогревается»: кэш собирается заново, поэтому отчёты могут работать медленнее обычного.
Временные таблицы в СУБД: что с ними делать
Временные таблицы 1С создаёт в СУБД на время сеанса или транзакции. Руками их удалять не нужно: при завершении сеанса сервер сбрасывает их сам.
Проблемы начинаются, когда сеансы «зависают» и не закрываются. Тогда временные объекты остаются и занимают место.
- 🐘 PostgreSQL. Временные таблицы хранятся в схеме
pg_temp_Nи исчезают при закрытии соединения. Если соединение висит, завершите сеанс в консоли кластера, а не убивайте процесс СУБД. - 🗄 MS SQL Server. Временные таблицы лежат в базе
tempdb. Если она раздулась, помогает перезапуск службы SQL Server:tempdbпересоздаётся при старте.
Не удаляйте таблицы СУБД вручную из рабочей базы. Для расчёта места смотрите размер tempdb и число открытых соединений, а чистку делайте через завершение сеансов.
Если нужно только освободить память сервера, а не чистить диск, достаточно перезапуска рабочих процессов. В консоли кластера у рабочего сервера есть параметры, которые заставляют rphost перезапускаться по расписанию или по превышению объёма памяти. Это мягче, чем остановка всей службы.
Диагностика: как понять, что виноват именно кэш
Не чистите «на всякий случай». Сначала убедитесь, что симптомы похожи на кэшевые.
- Проверьте, воспроизводится ли проблема на другом компьютере. Если нет, чистите клиентский кэш на проблемном.
- Запустите ту же базу с новым профилем Windows или от другого пользователя. Исчезла проблема, значит дело в профиле.
- Сравните версии платформы на клиенте и сервере. Расхождение даёт похожие симптомы: долгий запуск, сообщения о несовпадении версий.
- Посмотрите размер каталога кластера. Если он вырос до десятков гигабайт, причина в накопленных контекстах и журналах.
- Откройте счётчики сервера: загрузка процессора, свободная память, очередь диска. Кэш редко бывает причиной, когда диск забит на 100% другими процессами.
Типичные признаки того, что очистка поможет:
- 🔄 После обновления конфигурации пользователь видит старый интерфейс.
- ⏳ Запуск клиента занимает заметно дольше, чем у коллег на таком же компьютере.
- 🧱 Появляются сообщения об ошибках формы, которые уходят после перезапуска сеанса.
- 📈 Память рабочих процессов растёт день за днём и не возвращается.
Признаки, что дело не в кэше: ошибки блокировок, медленные конкретные запросы, нехватка лицензий, обрывы сети. Здесь чистка потеряет время и добавит простой.
Автоматическая очистка по расписанию
Если сброс нужен регулярно (скажем, раз в неделю ночью в воскресенье), оформите скрипт и поставьте в планировщик Windows.
@echo off
net stop "1C:Enterprise 8.3 Server Agent"
timeout /t 20 /nobreak >nul
for /d %%D in ("D:\1c_cluster\reg_1541\snccntx*") do rd /s /q "%%D"
net start "1C:Enterprise 8.3 Server Agent"
Что нужно подставить:
- Имя службы: оно может отличаться, проверьте в оснастке «Службы».
- Путь к каталогу кластера и номер порта в имени
reg_…. - Запуск от имени учётной записи с правами на остановку службы.
Создайте задачу в «Планировщике заданий»: триггер раз в неделю, действие «Запуск программы», путь к .bat. Первый запуск проведите вручную и посмотрите результат.
Не путайте с регламентными заданиями самой 1С. Они работают внутри базы (например, сверка контрагентов, обновление индексов поиска) и системные папки кластера не чистят. Для папок нужен именно внешний скрипт.
Для 1С в режиме файловой базы серверного кэша нет вовсе, там достаточно клиентской очистки.
Как выбрать способ: короткая сводка
Когда под рукой несколько вариантов, ориентируйтесь на масштаб проблемы и допустимый простой.
| Способ | Когда подходит | Риски |
|---|---|---|
| Удаление каталогов клиента | проблема у одного пользователя | почти нет, нужно закрыть 1С |
Ключ /ClearCache | быстрый сброс без ручного удаления | нет, запуск чуть дольше обычного |
| Завершение сеансов в консоли | зависшие сеансы, лишняя память | пользователи теряют несохранённые данные |
Перезапуск rphost по расписанию | постоянный рост памяти рабочих процессов | короткий разрыв сеансов |
Остановка службы и очистка snccntx | проблема у всех, после обновлений | простой всей базы, риск удалить лишнее |
| Перезапуск SQL Server | раздутая tempdb | остановка всех баз на этом сервере СУБД |
Порядок такой: клиентский кэш, затем сеансы, затем рабочие процессы, и только потом остановка службы. Каждый следующий шаг дороже предыдущего по простою.
Пример расчёта окна работ
Допустим, в базе работают 25 человек, служба стартует около 2 минут, ночной регламент занимает 40 минут. Остановка с завершением сеансов (5 минут), очистка (3 минуты), запуск (2 минуты) и прогрев с проверкой (15 минут) дают около 25 минут простоя. Окно в полчаса между 22:00 и 22:30 укладывается, если регламентное задание закончилось раньше. Запускать очистку одновременно с ночным закрытием месяца не стоит: сеансы с долгими операциями придётся обрывать.
Что не стоит делать
- 🚫 Удалять каталог кластера целиком: пропадёт реестр баз и настройки.
- 🚫 Чистить папки при запущенной службе: часть файлов занята, остальные получат повреждения.
- 🚫 Убивать процесс СУБД в диспетчере задач: рискуете получить восстановление базы при следующем старте.
- 🚫 Запускать очистку, пока идёт резервное копирование : копия получится неполной.
Что проверить, если после сброса кэша стало хуже
Часть проблем после очистки ожидаема, часть говорит о реальной неисправности.
ibases.v8i. Добавьте базы заново или восстановите файл из резервной копии профиля.rphost и повторите удаление.Если через час работы всё осталось по-прежнему, кэш был ни при чём. Дальше проверяйте журнал регистрации базы, технологический журнал, загрузку диска и памяти, версию платформы на клиенте и сервере: они должны совпадать до третьей цифры релиза.
Частые вопросы
Можно ли просто перезагрузить сервер вместо очистки?
snccntx остаются на диске. Для проблем с памятью хватит, для «залежавшихся» служебных файлов нет.