Как решить проблему переполнения папки reg_1541 и освободить место на сервере 1С?

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

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

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

Что находится внутри папки reg_1541?

Прежде чем приступать к удалению файлов, давайте разберемся, из чего состоит структура каталога reg_1541. Имя этой папки соответствует порту главного рабочего процесса кластера 1С (по умолчанию это 1541). Внутри нее находятся подкаталоги, имена которых представляют собой уникальные идентификаторы (GUID) информационных баз, зарегистрированных в кластере. Внутри папки каждой конкретной базы хранятся следующие ключевые элементы:

  1. Каталог 1Cv8Log — здесь хранится журнал регистрации информационной базы. Именно он чаще всего является главным пожирателем дискового пространства.
  2. Каталог 1Cv8FTxt — в этой папке располагаются индексы полнотекстового поиска (ППС). Здесь создается файл indexMain.bin, размер которого может превышать несколько гигабайт.
  3. Каталоги snccntx — временные данные сеансов пользователей, кэш и сессионные данные. При аварийном завершении процессов они могут не удаляться автоматически, постепенно накапливаясь.

Проанализируем детально каждую составляющую и выработаем надежные методы оптимизации.

Очистка и оптимизация полнотекстового поиска (каталог 1Cv8FTxt)

Если вы столкнулись с ошибкой выполнения файловой операции с файлом indexMain.bin (например, при вызове метода FullTextSearch.UpdateIndex или ОбновитьИндекс), это первый признак того, что файловая система диска C:\ исчерпала свои ресурсы. Когда на диске остается критически мало места (менее 10-20 ГБ), СУБД, операционная система и сам сервер 1С начинают работать нестабильно, блокируя создание временных файлов.

Рассмотрим два способа очистки и восстановления работоспособности полнотекстового поиска.

Способ 1. Безопасная очистка через интерфейс 1С:Предприятие

Это самый правильный и штатный способ сбросить раздувшийся индекс без остановки сервера. Выполним следующие действия:

  1. Запустим информационную базу в режиме «Предприятие» под учетной записью с правами администратора.
  2. Перейдем в раздел Администрирование — Общие настройки — Поиск данных (или Полнотекстовый поиск).
  3. Нажмем на ссылку «Настроить».
  4. В открывшемся окне нажмем кнопку «Очистить индекс». Эта операция физически удалит файлы из папки 1Cv8FTxt на сервере.
  5. После успешного удаления нажмем кнопку «Обновить индекс». Платформа заново создаст структуру файлов без накопленного исторического мусора.

Если полнотекстовый поиск в вашей организации не используется сотрудниками, его рекомендуется полностью отключить в этом же меню, сняв соответствующий флажок. Это сэкономит дисковое пространство и снизит нагрузку на дисковую подсистему сервера.

Способ 2. Ручное удаление при остановленной службе

Если из-за нехватки места зайти в базу невозможно, мы можем очистить кэш вручную:

  1. Остановим службу «Агент сервера 1С:Предприятия» через консоль управления службами services.msc.
  2. Перейдем в каталог C:\Program Files\1cv8\srvinfo\reg_1541\[GUID_базы]\1Cv8FTxt\.
  3. Полностью удалим все файлы из этой папки.
  4. Запустим службу сервера 1С. При первом обращении или по регламентному заданию платформа начнет строить индекс заново.

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

Также стоит учитывать критический баг платформы 1С версий 8.3.24–8.3.26. В этих релизах файл изменений tableChanges.dat в папке поиска может бесконечно разрастаться, поглощая сотни гигабайт. Если вы столкнулись с этим, обновите платформу до актуальных исправленных релизов.

Оптимизация журнала регистрации (каталог 1Cv8Log)

Журнал регистрации в современных версиях платформы по умолчанию хранится в формате базы данных SQLite (файл 1cv8.lgd). При активной работе пользователей этот файл растет с огромной скоростью.

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

Чтобы физически сжать журнал регистрации, выполним один из следующих вариантов:

Вариант А. Использование утилиты SQLite для сжатия файла

  1. Остановим службу сервера 1С:Предприятия.
  2. Скачаем и запустим любую консольную или графическую утилиту для работы с SQLite (например, DB Browser for SQLite).
  3. Откроем файл 1cv8.lgd, расположенный в папке 1Cv8Log нужной базы.
  4. Выполним SQL-запрос сжатия базы данных:

VACUUM;

  1. Закроем утилиту и запустим службу сервера 1С. Физический размер файла уменьшится до объема реально оставшихся записей.

Вариант Б. Архивация и создание нового файла

Если вам не требуется мгновенный доступ к старым логам непосредственно из интерфейса 1С, мы можем перенести их в архив:

  1. Остановим службу сервера 1С.
  2. Перейдем в папку 1Cv8Log и переименуем файл 1cv8.lgd в 1cv8_old.lgd (или переместим его на архивный диск).
  3. Запустим службу сервера. Платформа автоматически создаст новый пустой файл 1cv8.lgd минимального размера. Старый файл при необходимости можно будет открыть локально через конфигуратор.

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

Попытки постоянно очищать логи и индексы на системном диске C:\ — это лишь временная мера. Рано или поздно свободное место снова закончится. Гораздо надежнее перенести рабочий каталог сервера srvinfo целиком на более емкий диск (например, D:\ или E:\).

Разберем этот процесс по шагам:

  1. Остановим службу «Агент сервера 1С:Предприятия 8.3».
  2. Скопируем всю папку srvinfo (вместе со всеми вложенными файлами и структурой) из каталога по умолчанию C:\Program Files\1cv8\ в новую директорию, например, D:\1C\srvinfo\.
  3. Критически важный шаг: Проверим права доступа. Нажмем правой кнопкой мыши на новую папку D:\1C\srvinfo\, перейдем на вкладку «Безопасность» и предоставим права «Полный доступ» пользователю, от имени которого запускается служба 1С. По умолчанию это локальный системный пользователь USR1CV8. Если этого не сделать, служба сервера 1С просто откажется запускаться.
  4. Откроем редактор реестра Windows. Для этого нажмем сочетание клавиш Win + R, введем regedit и нажмем Enter.
  5. Перейдем в ветку реестра по следующему пути:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)
  1. Найдем строковый параметр с именем ImagePath. Дважды кликнем по нему для редактирования.
  2. В поле значения этого параметра найдем ключ -d. По умолчанию там указано:

-d "C:\Program Files\1cv8\srvinfo"

  1. Изменим этот путь на наш новый каталог. Строка должна принять следующий вид:

-d "D:\1C\srvinfo"

  1. Нажмем «ОК», закроем редактор реестра и запустим службу сервера 1С.

Проверим работоспособность баз данных. Все новые логи, индексы и сеансовые файлы теперь будут создаваться на диске D:\, полностью обезопасив системный раздел от переполнения.

⚠️ Внимание! Главное предостережение администратору: При каждом последующем обновлении версии платформы 1С:Предприятие (установке нового релиза) установщик заново создает службу Windows и сбрасывает путь к рабочему каталогу в реестре на значение по умолчанию. Не забывайте после каждого обновления платформы заходить в реестр и заново прописывать путь к диску D:\ перед первым запуском новой версии сервера!

Очистка «сиротских» папок и кэша сеансов

Со временем в папке reg_1541 накапливаются каталоги баз, которые давно были удалены из кластера через консоль администрирования. Платформа 1С не удаляет физические файлы журналов регистрации таких баз при их удалении из списка. Чтобы выявить и безопасно удалить такие папки, проделаем следующее:

  1. Откроем корневой файл конфигурации кластера 1CV8Clst.lst, который находится в корне папки reg_1541, с помощью обычного Блокнота.
  2. Найдем в этом файле список зарегистрированных информационных баз. Каждая база ассоциирована со своим уникальным идентификатором GUID.
  3. Сопоставим папки, находящиеся внутри reg_1541, со списком GUID из файла конфигурации.
  4. Все папки, чьи GUID отсутствуют в файле 1CV8Clst.lst, являются «сиротами». Мы можем безвозвратно удалить их, освободив гигабайты свободного места.

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

Проверка параметров технологического журнала

Иногда причиной резкого заполнения жесткого диска становится забытая или неправильно настроенная трассировка технологического журнала 1С. Проверим, активирован ли он в системе:

  1. Перейдем в каталог конфигурационных файлов платформы по пути C:\Program Files\1cv8\conf\ (или в аналогичный каталог для 32-битных версий).
  2. Проверим наличие файла logcfg.xml.
  3. Если файл присутствует, откроем его и изучим, куда настроен вывод логов. Если лог пишется на диск C:\ без ограничения по объему и времени хранения, мы рискуем быстро заполнить диск.
  4. Удалим этот файл, если детальный анализ работы сервера в данный момент не требуется, либо настроим ротацию файлов логов и ограничение их максимального объема.

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

← На главную