Очистка сеансовых данных кластера 1С (snccntx и shared)
Симптомы разрастания каталога srvinfo кластера серверов 1С
Каталог размещения служебных данных кластера (по умолчанию C:\Program Files\1cv8\srvinfo) со временем разрастается до сотен гигабайт. Системный диск переполняется, вызывая остановку службы ragent, сбои транзакций и ошибки блокировок сеансовых данных пользователей.
| Каталог / Папка | Что содержит внутри | Проблема при переполнении |
|---|---|---|
snccntx... | Сеансовые данные (Session Context) активных и завершенных сеансов | Служба кластера падает с ошибкой доступа при старте; переполнение диска |
shared | Кэш разделяемых данных кластера и служебные блокировки | Зависание сессий и рассинхронизация параметров фоновых заданий |
1Cv8FTxt | Индексы полнотекстового поиска | Разрастание до терабайтных объемов при ошибках слияния индексов |
Регламент безопасной очистки и удаления служебных папок
- Правило безопасности: что удалять категорически НЕЛЬЗЯ:
Внутри папки
srvinfo\reg_1541находятся файлы описания кластера и списка информационных баз:1CV8Reg.lstи папки с GUID баз (внутри которых лежит журнал регистрации1Cv8.lgd). Удаление файла 1CV8Reg.lst сотрет весь список баз из кластера! - Можно ли удалять папки snccntx и shared?
ДА, МОЖНО, но только при полностью остановленной службе сервера 1С. Эти папки содержат временный контекст сессий. При удалении активные сеансы пользователей будут сброшены, а при следующем запуске службы 1С папки создадутся заново чистыми.
- Пошаговый сценарий безопасной очистки через PowerShell:
# 1. Остановка службы сервера 1С Stop-Service -Name "1C:Enterprise 8.3 Server Agent" -Force # 2. Определение пути к srvinfo (скорректируйте под вашу систему): $SrvPath = "C:\Program Files\1cv8\srvinfo\reg_1541" # 3. Удаление временных папок сеансовых данных (snccntx*): Get-ChildItem -Path $SrvPath -Filter "snccntx*" -Directory | Remove-Item -Recurse -Force # 4. Удаление содержимого общей папки shared: $SharedPath = Join-Path $SrvPath "shared" If (Test-Path $SharedPath) { Get-ChildItem -Path $SharedPath -Recurse | Remove-Item -Force } # 5. Удаление серверного кэша конфигураций (папки с длинными GUID без расширений): # Очистка локального temp системного пользователя USR1CV8: Remove-Item -Path "C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp\*" -Recurse -Force -ErrorAction SilentlyContinue # 6. Запуск службы сервера 1С Start-Service -Name "1C:Enterprise 8.3 Server Agent" - Профилактика разрастания сеансовых данных:
Чтобы папка
snccntxне забивала системный SSD, перенесите рабочий каталог кластера на отдельный диск с помощью правки параметров запуска службы в ветке реестраHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent(ключ-d "D:\1C_Srvinfo").
Никогда не удаляйте файлы при работающей службе: Попытка принудительно удалить файлы из каталогов snccntx при запущенном процессе rmngr/rphost приведет к повреждению дескрипторов файлов памяти и немедленному падению кластера с кодом ошибки «Файл заблокирован другим процессом».
Частые вопросы (FAQ)
Что конкретно теряют пользователи при удалении папки snccntx?
Пользователи теряют несохраненные данные временных форм (например, незаполненный черновик документа) и состояние курсоров динамических списков. Никакие проведенные документы или справочники не страдают, так как они зафиксированы в СУБД.
Почему папка snccntx разрастается до сотен гигабайт?
Это происходит из-за некорректно написанных внешних обработок или тяжелых фоновых заданий, которые помещают в сеансовые данные огромные двоичные массивы (ХранилищеЗначения), а также при аварийных падениях сеансов без вызова процедуры очистки.
Как часто нужно выполнять очистку папки shared?
Очистка не требуется в штатном режиме. К ней прибегают только при возникновении фантомных блокировок, сбоях нумерации сессий или после аварийных отключений электропитания сервера.
Удалит ли эта процедура историю журнала регистрации?
Нет. Журнал регистрации хранится внутри каталогов с GUID конкретных баз в файлах 1Cv8.lgd (или архивах .lgp) и скриптом очистки сеансовых данных не затрагивается.