Что такое дебаг на сервере 1С и как решить проблему с переполнением диска из-за кэша и логов

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Каждый системный администратор или программист 1С рано или поздно сталкивается с ситуацией, когда пользователи начинают жаловаться на невозможность запустить программу, а при попытке входа система выдает ошибку подключения к конечному компьютеру. При детальном анализе сервера выясняется, что системный диск полностью забит неизвестными файлами огромного размера. В среде специалистов часто звучат термины «дебаг», «серверный кэш», «журнал регистрации» и «сеансовые данные». Давайте подробно разберем, что на самом деле скрывается за этими понятиями, какие файлы можно безболезненно удалять, а какие трогать категорически запрещено, и как правильно перенести рабочий каталог сервера 1С на другой диск.

Выясняем причину: дебаг, технологический журнал или серверный кэш?

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

Разбираем структуру папки srvinfo: что внутри?

Прежде чем приступать к удалению файлов, давайте разберем структуру каталога srvinfo (по умолчанию он находится по пути C:\Program Files\1cv8\srvinfo\). Понимание структуры поможет нам избежать фатальной потери данных пользователей.

Внутри каталога srvinfo (в папке порта кластера, например, reg_1541) находятся следующие важные элементы:

  1. Файлы реестра кластера (1CV8Clst.lst, srvribrg.lst). В этих файлах содержится информация обо всех зарегистрированных на сервере информационных базах, пользователях кластера, рабочих процессах и администраторах. Внимание: эти файлы удалять категорически нельзя! Если вы их сотрете, сервер 1С полностью «забудет» все базы, и вам придется прописывать их в консоли администрирования заново.
  2. Папки с UUID информационных баз. Каждой базе на сервере соответствует папка с уникальным идентификатором (например, 14690d7f-9f70-42b7-bd20-7f2db8a7ad2a). Внутри этих папок хранятся:
    • Папка 1Cv8Log — Журнал регистрации базы данных.
    • Папка 1Cv8FTxt или 1Cv8FTxt2 — Индексы полнотекстового поиска.
  3. Папки сеансовых данных (snccntx...). Это и есть реальный временный кэш сеансов.

Развеиваем миф о папке snccntx (сеансовые данные)

В ходе обсуждения на форумах часто можно встретить совет: «не удаляйте папку snccntx, удаляйте всё остальное». Это серьезное техническое заблуждение. Рассмотрим ситуацию подробнее.

Папка snccntx (Session Context) хранит данные активных сеансов пользователей. Платформа 1С использует NoSQL-механизмы для записи временных хранилищ, результатов компоновки данных (СКД), значений тяжелых форм и других промежуточных расчетов. Запись в файлы snccntx.dat производится последовательно блоками по 64 МБ, что со временем приводит к колоссальному росту этих файлов.

Можно ли очищать папки snccntx? Да, можно! И в ряде случаев это является единственным средством лечения «загадочных» программных сбоев, когда у всех пользователей одновременно начинают сыпаться ошибки. Однако делать это нужно строго по правилам:

Почему рабочий каталог сервера лавинообразно растет?

Выясним основные причины, по которым свободное место на диске с сервером 1С стремительно сокращается:

  1. «Мертвые» папки удаленных баз. Когда администратор удаляет базу через консоль администрирования 1С, сама СУБД очищается, но каталог этой базы в папке srvinfo со всем накопленным журналом регистрации и индексами поиска остается нетронутым. Если на сервере часто создавались, тестировались и удалялись базы, там могут годами лежать сотни гигабайт абсолютно бесполезного мусора.
  2. Разрастание Журнала регистрации (1Cv8Log). Если в конфигураторе базы включена фиксация всех событий (уровень «Информационные сообщения»), журнал регистрации будет увеличиваться на гигабайты каждый день.
  3. Индексы полнотекстового поиска (1Cv8FTxt). Если пользователи не пользуются поиском в программе, но механизм индексации включен, файлы индексов будут бесполезно занимать драгоценное место на системном диске.

Инструкция по безопасной очистке кэша и старых логов

Проанализируем по шагам процесс безопасной очистки рабочего каталога сервера 1С без риска потерять настройки кластера:

  1. Остановите службу Агента сервера 1С через утилиту «Службы» (services.msc).
  2. Откройте файл конфигурации кластера 1CV8Clst.lst с помощью любого текстового редактора. Найдите в нем список UUID всех активных (реально существующих) баз данных. Выпишите эти идентификаторы.
  3. Перейдите в каталог srvinfo\reg_1541\.
  4. Удалите все папки с UUID, которых нет в вашем списке активных баз (это папки давно удаленных баз данных). Это действие вернет вам значительный объем дискового пространства.
  5. В папках активных баз вы можете безопасно очистить содержимое папок 1Cv8FTxt (после запуска службы полнотекстовый поиск автоматически переиндексирует базу, если эта функция включена).
  6. Для уменьшения размера журнала регистрации (1Cv8Log) рекомендуется открыть базу в режиме «Конфигуратор» и выполнить сокращение журнала через меню «Администрирование» — «Настройка журнала регистрации», перенеся старые записи в архивный файл на другой диск.

Как правильно перенести каталог srvinfo на другой диск?

Рано или поздно ручная очистка перестает спасать, и лучшим решением становится перенос рабочего каталога srvinfo с системного диска C: на более емкий накопитель (например, D: или E:). Посмотрим, как сделать это правильно с технической точки зрения в операционной системе Windows.

Для изменения пути к рабочему каталогу используется ключ запуска -d. Давайте выполним перенос по шагам:

  1. Остановите службу 1C:Enterprise 8.3 Server Agent.
  2. Создайте новую папку на целевом диске, например, D:\1C_srvinfo.
  3. Скопируйте все содержимое старой папки C:\Program Files\1cv8\srvinfo в новый каталог D:\1C_srvinfo. Полное копирование гарантирует, что сервер не потеряет настройки кластера и базы данных.
  4. Откройте редактор реестра Windows. Для этого нажмите сочетание клавиш Win + R, введите команду regedit и нажмите Enter.
  5. Перейдите по следующему пути реестра:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)

  6. Найдите строковый параметр с именем ImagePath. В нем прописана строка запуска службы. По умолчанию она выглядит примерно так:
    
    "C:\Program Files\1cv8\8.3.15.1700\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
    
  7. Отредактируйте значение параметра ImagePath, изменив путь после ключа -d на вашу новую папку. Строка должна принять следующий вид:
    
    "C:\Program Files\1cv8\8.3.15.1700\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "D:\1C_srvinfo"
    
  8. Очень важный шаг, о котором часто забывают: проверьте права доступа к новой папке. Кликните правой кнопкой мыши по папке D:\1C_srvinfo, перейдите на вкладку «Безопасность» и убедитесь, что пользователь, от имени которого запускается служба 1С (обычно это локальный системный пользователь USR1CV8), имеет полные права (Запись, Чтение, Изменение) на эту директорию. Без этих прав служба 1С просто не сможет запуститься.
  9. Запустите службу Агента сервера 1С. Убедитесь, что все базы доступны и пользователи могут без проблем войти в систему. После успешного тестирования старую папку на диске C: можно удалить.

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

← На главную