Куда уходит свободное место на сервере 1С и как это прекратить?

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

Ситуация, когда на сервере 1С внезапно начинает пропадать свободное место (по несколько гигабайт в день), является критической для стабильной работы бизнеса. В этой статье мы подробно разберем, как продиагностировать «утечку» дискового пространства, какие инструменты использовать и где именно «прячутся» гигабайты данных, порождаемые платформой 1С, SQL-сервером и операционной системой Windows.

Шаг 1. Визуализация дискового пространства

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

Проанализируем ситуацию: Запустим одну из этих программ от имени администратора. Если место уходит на диске C:, обратим внимание на папки ProgramData, Windows и Users. Если на диске с базами данных — смотрим на расширения файлов.

Шаг 2. Журнал регистрации 1С (основной потребитель места)

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

Новый формат (.lgd): Этот формат базируется на SQLite. Проблема в том, что даже при удалении старых записей из журнала через интерфейс 1С, физический размер файла на диске не уменьшается. Чтобы вернуть место, необходимо выполнить процедуру сжатия (vacuum). Рассмотрим, как это сделать:

  1. Остановите службу сервера 1С.
  2. Найдите файл 1Cv8.lgd в папке конкретной информационной базы (внутри каталога srvinfo).
  3. Используйте утилиту командной строки sqlite3 для выполнения команды: sqlite3 1Cv8.lgd "VACUUM;"
  4. Запустите службу сервера.

Старый формат (.lgp): Здесь журнал состоит из множества текстовых файлов. Проанализируем настройки: если установлено «Регистрировать все», сервер будет записывать каждое действие пользователя, что при активной работе может генерировать 5-10 Гб логов в неделю.

Шаг 3. Логи транзакций MS SQL Server

Если ваша 1С работает на MS SQL Server, проверьте файлы с расширением .ldf. Рассмотрим две основные причины их роста:

Модель восстановления Full (Полная): В этом режиме SQL Server записывает все изменения в лог и не очищает его, пока не будет сделан бэкап именно лога транзакций. Обычный бэкап базы не помогает. Если вам не нужна возможность восстановления на конкретный момент времени, переключите модель восстановления в Simple (Простая). Это можно сделать в свойствах базы в SQL Management Studio (раздел Options).

Раздувание TempDB: Системная база tempdb используется для временных таблиц 1С. При выполнении очень тяжелых запросов или формировании гигантских отчетов она может вырасти до сотен гигабайт. После перезагрузки службы SQL Server место освобождается, но затем снова начинает убывать. Выясним причину через монитор активности SQL — ищите запросы с огромным количеством чтений/записей.

Шаг 4. Дампы памяти и Windows Error Reporting

Если рабочие процессы 1С (rphost.exe) завершаются аварийно, система может генерировать дампы памяти. Разберем, где их искать:

Шаг 5. Кэш и временные файлы

1С активно использует временные файлы для работы пользователей и сервера. Проанализируем следующие пути:

Пользовательский кэш: На терминальных серверах папки %AppData%\Local\1C\1cv8 и %AppData%\Roaming\1C\1cv8 у каждого пользователя могут занимать по несколько гигабайт. Рекомендуется настроить регламентную очистку старого кэша (папки с длинными именами-идентификаторами).

Системный Temp: Проверьте папку C:\Windows\Temp и C:\Users\Имя_Пользователя\AppData\Local\Temp. Там часто «застревают» временные файлы после аварийного завершения сеансов 1С.

Шаг 6. Служба теневого копирования (VSS)

Иногда визуализаторы диска показывают, что место занято, но не находят конкретных файлов. Это верный признак работы службы Volume Shadow Copy. Она хранит снимки диска для восстановления файлов.

Посмотрим текущее использование через командную строку (от имени администратора):

vssadmin list shadowstorage

Если лимит установлен в «Без ограничений» или занимает слишком большой процент диска, ограничим его, например, до 10 Гб:

vssadmin resize shadowstorage /for=c: /on=c: /maxsize=10GB

Шаг 7. Технологический журнал 1С

Если кто-то из программистов или администраторов включил сбор Технологического журнала (ТЖ) для отладки и забыл его выключить, сервер может «съедать» место с огромной скоростью. Проверим наличие файла logcfg.xml в папке conf (по пути установки платформы 1С). Если этот файл есть и в нем настроен сбор событий с высоким уровнем детализации — это и есть причина. Удалите файл или закомментируйте настройки сбора логов.

Шаг 8. Очистка системных обновлений

На системном диске C: много места может занимать папка C:\Windows\WinSxS. В ней хранятся компоненты для отката обновлений Windows. Выясним, можно ли ее уменьшить без вреда для системы. Используем встроенную утилиту DISM:

dism.exe /online /cleanup-image /startcomponentcleanup /resetbase

Важно: После выполнения этой команды вы не сможете удалить установленные на данный момент обновления Windows, но освободите значительный объем памяти.

Итоги и рекомендации

Для предотвращения подобных ситуаций в будущем, мы рекомендуем:

  1. Настроить регулярный бэкап и Shrink (сжатие) логов транзакций SQL.
  2. Установить лимит на размер журнала регистрации 1С или настроить его регулярную архивацию и очистку.
  3. Вынести временные папки Temp и папки с данными 1С (srvinfo) на отдельный быстрый диск, чтобы переполнение логами не приводило к остановке операционной системы.
  4. Использовать скрипты мониторинга, которые будут оповещать вас, если свободное место на диске станет меньше 10-15%.
← На главную