Почему раздувается профиль пользователя USR1CV8 и как очистить папку Temp

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

Одной из классических проблем, с которой сталкиваются администраторы серверов «1С:Предприятие», является стремительное заполнение дискового пространства в профиле технического пользователя, под которым запущена служба сервера (обычно это USR1CV8). Папка AppData\Local\Temp может разрастаться до десятков и даже сотен гигабайт всего за несколько дней, что приводит к остановке работы всей системы. В этой статье мы проанализируем причины возникновения этой проблемы, разберем конкретный кейс с форума и рассмотрим комплексные методы борьбы с «мусором» в системе.

Выясняем причину: почему папка Temp переполняется?

Рассмотрим ситуацию, описанную в теме: у пользователя за 10 дней папка временных файлов увеличилась на 80 Гб. Основная причина, которую удалось выяснить автору, — некорректная работа обработки обмена данными. В процессе выгрузки или загрузки создаются временные файлы, которые программа «забывает» удалить после завершения операции. Однако это лишь верхушка айсберга.

Проанализируем другие технические факторы, которые заставляют профиль USR1CV8 «пухнуть»:

  1. Файлы v8_*.tmp: Платформа создает их при формировании тяжелых отчетов, работе с XML-документами или конвертации таблиц в PDF. Если сеанс пользователя завершается аварийно, эти файлы остаются в системе навсегда.
  2. Полнотекстовый поиск: При индексации данных система активно использует временные хранилища. При сбоях или огромных объемах данных индексы могут занимать значительное место.
  3. Фоновые задания: Каждое задание создает свой временный контекст. Если задание «убивается» менеджером кластера по таймауту, автоматическая очистка Temp не происходит.
  4. Дампы памяти: При падении рабочих процессов rphost в папку профиля могут записываться файлы с расширением .dmp, размер которых может достигать нескольких гигабайт за раз.

Решение проблемы через оптимизацию кода 1С

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

Рассмотрим пример правильной реализации удаления временного файла в коде:


ИмяФайла = ПолучитьИмяВременногоФайла("xml");
// Производим действия с файлом, например, выгрузку
Попытка
    ВыгрузитьДанныеВФайл(ИмяФайла);
    // ... логика обмена
Исключение
    ЗаписатьЛогОшибки(ОписаниеОшибки());
КонецПопытки;

// Обязательная очистка
Если НайтиФайлы(ИмяФайла).Количество() > 0 Тогда
    УдалитьФайлы(ИмяФайла);
КонецЕсли;

Использование метода УдалитьФайлы() сразу после того, как файл перестал быть нужным, — это стандарт «хорошего тона», который предотвращает разрастание профиля USR1CV8.

Настройка автоматической очистки папки Temp

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

Наиболее эффективным инструментом является PowerShell. Мы можем создать сценарий, который будет удалять только те файлы, которые старше 24 часов и не заблокированы в данный момент сервером 1С. Это исключит риск удаления актуальных данных работающих сессий.

Пример скрипта для планировщика задач Windows:


$TempPath = "C:\Users\USR1CV8.1C\AppData\Local\Temp"
$DaysToKeep = 1
$CurrentDate = Get-Date
Get-ChildItem $TempPath -Recurse | Where-Object {
    $_.LastWriteTime -lt $CurrentDate.AddDays(-$DaysToKeep)
} | Remove-Item -Recurse -Force -ErrorAction SilentlyContinue

Этот скрипт рекомендуется поставить в Task Scheduler с ежедневным запуском в ночное время, когда нагрузка на сервер минимальна.

Перенос временных папок на другой диск

Если системный диск C: слишком мал, мы можем прибегнуть к административному маневру — переносу переменных окружения TEMP и TMP для пользователя службы. Рассмотрим, как это сделать:

  1. Зайдите в систему под учетной записью администратора.
  2. Откройте «Свойства системы» -> «Дополнительно» -> «Переменные среды».
  3. В разделе системных переменных или переменных пользователя USR1CV8 найдите TEMP и TMP.
  4. Измените их значения на путь на более емком диске, например, D:\1C_Temp.
  5. Важно: убедитесь, что у пользователя USR1CV8 есть полные права доступа (NTFS) к новой папке.
  6. Перезапустите службу «1С:Предприятие».

Этот метод не прекратит генерацию мусора, но защитит операционную систему от критического сбоя при нехватке места на системном разделе.

Корректная настройка рабочих процессов сервера

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

Разберем настройки в консоли администрирования серверов 1С:

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

Выясняем причины нестабильности: дампы памяти

Если вы обнаружили, что папка раздувается не из-за .tmp файлов, а из-за .dmp (дампов), это сигнализирует о критических ошибках в работе платформы. Проанализируем ситуацию: дампы создаются, когда процесс 1С аварийно завершается («падает»).

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

Для управления дампами можно использовать настройки в файле conf.cfg, ограничив их создание или указав другой путь для их хранения, чтобы они не забивали профиль пользователя.

Подводя итог, отметим, что решение проблемы «раздутого» профиля USR1CV8 всегда должно быть комплексным: от исправления ошибок в коде обработок до настройки системных скриптов очистки и регламентных перезапусков сервера.

← На главную