Ситуация, когда сервер 1С за ночь поглощает десятки гигабайт дискового пространства (вплоть до 70 ГБ и выше), является критической для стабильной работы системы. Особенно часто это проявляется в конфигурации 1С:Документооборот. Переполнение диска C: приводит к остановке служб, невозможности входа пользователей и потенциальному повреждению баз данных. В этой статье мы подробно разберем, какие именно механизмы вызывают такой аномальный рост «кеша» и как настроить систему, чтобы исключить подобные инциденты.
Прежде чем приступать к лечению, нам необходимо точно диагностировать «очаг возгорания». Проанализируем содержимое системного диска в момент пиковой нагрузки. Как правило, место исчезает в одной из трех локаций:
C:\Users\Имя_Пользователя_1С\AppData\Local\Temp.C:\Windows\Temp.srvinfo (обычно в C:\Program Files\1cv8\srvinfo), а именно вложенные папки вида reg_XXXX\snacc или reg_XXXX\vrs-cache.Рассмотрим подробнее каждый из механизмов, запускающих этот процесс.
Одной из наиболее вероятных причин является регламентное задание по обновлению и слиянию индекса полнотекстового поиска. В 1С полнотекстовый поиск позволяет быстро находить данные по строковым вхождениям, но поддержка актуальности индекса требует значительных дисковых ресурсов.
Проанализируем ситуацию: если в течение дня в базу вносится много изменений, система накапливает «порции» индекса. Ночью запускается процесс слияния (merging), который может временно требовать объема диска, в несколько раз превышающего размер самого индекса. Если процесс прерывается из-за нехватки места, временные файлы могут не удалиться, и на следующую ночь ситуация повторится.
Что мы можем сделать:
ОбновлениеИндексаПолнотекстовогоПоиска.Конфигурация 1С:Документооборот (ДО) имеет уникальный и крайне ресурсоемкий механизм расчета прав — дескрипторы доступа. Если в системе меняется организационная структура или правила доступа, запускается фоновое обновление прав.
Разберем, почему это занимает 70 ГБ. При расчете прав система строит огромные временные таблицы. Сервер 1С, чтобы не переполнять оперативную память, выгружает эти таблицы на диск в папку snacc (Session Data Cache). Если у вас миллионы связей между документами и пользователями, размер этих временных файлов может быть колоссальным.
Как лечить:
ОчередьОбновленияПравДоступа. Если в нем миллионы записей, значит, система «захлебывается» в расчетах.В «Документообороте» часто включено автоматическое распознавание изображений (OCR). Ночью система может начать обрабатывать пачку тяжелых PDF-сканов. Библиотеки распознавания часто создают несжатые временные копии каждой страницы в системной папке TEMP.
Проанализируем ситуацию: если пользователь загрузил многостраничный PDF размером 500 МБ, при распознавании он может развернуться в 5-10 ГБ временных данных в растровом формате. Несколько таких параллельных процессов легко забивают диск C:.
Не всегда виноват именно кеш 1С. Посмотрим на базу данных tempdb системного SQL-сервера. Тяжелые ночные запросы (например, формирование глобальных отчетов или удаление помеченных объектов) заставляют SQL Server активно использовать tempdb. Если он настроен на автоматическое расширение и расположен на диске C:, это приведет к его переполнению.
Решение: Обязательно перенесите файлы tempdb на отдельный быстрый диск (например, D: или E:).
Если мы не можем быстро оптимизировать код базы, нам нужно обезопасить системный диск C:. Мы можем заставить службу 1С использовать другой диск для всех своих временных нужд.
Разберем по шагам, как это сделать через параметры запуска службы:
regedit.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3... (название зависит от вашей версии).ImagePath.-d "D:\1C_Data", где D:\1C_Data — путь к новой папке на другом диске.Пример модифицированной строки запуска:
"C:\Program Files\1cv8\8.3.XX.XXXX\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "D:\1C_Data"
Важно: После этого необходимо вручную перенести содержимое старой папки srvinfo в новый каталог и убедиться, что у пользователя, под которым запускается служба 1С, есть полные права на новую папку.
Проанализируем еще несколько факторов, которые могут влиять на дисковое пространство:
lgf и lgp могут расти при массовых операциях. Проверьте настройки сокращения журнала регистрации.Таким образом, мы выяснили, что основными виновниками являются snacc-файлы (результат работы с правами в ДО) и временные таблицы SQL. Перенос рабочих каталогов 1С и SQL на отдельный диск — это «золотой стандарт» администрирования, который позволит вашему серверу не падать даже при аномальных нагрузках.