Почему 1С 8.3 создает много файлов v8_*.tmp и как избавиться от тормозов диска

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

При работе пользователей в 1С:Предприятие 8.3 на сервере или локальных ПК можно заметить постоянную активную запись множества мелких файлов вида v8_****.tmp в каталоге AppData\Local\Temp. На классических жестких дисках (HDD) это вызывает критические задержки: считывающая головка диска непрерывно перемещается между тысячами мелких файлов, создавая очередь на диск и замедляя работу всей системы. Разберем, почему платформа ведет себя подобным образом и как решить проблему с производительностью.

Выясним причины появления временных файлов

Платформа 1С 8.3 интенсивно использует файловую систему для кэширования и работы с временными данными. Посмотрим на основные причины, по которым система генерирует файлы v8_*.tmp:

  1. Распаковка конфигурации и метаданных: В отличие от предыдущих версий, платформа 8.3 динамически разворачивает конфигурацию по файлам в пользовательский кэш для ускорения работы клиентского приложения.
  2. Фоновые и регламентные задания: Выполнение полнотекстового индексирования, сбор статистики, расчет итогов и фоновые обмены данными постоянно генерируют временные структуры.
  3. Обработка двоичных данных: Работа с печатными формами, картинками, внешними обработками и объектами временного хранилища требует промежуточной записи данных на физический диск.
  4. Сброс промежуточных данных (СКД): При построении объемных отчетов через Систему компоновки данных, если размер промежуточных таблиц превышает выделенный лимит оперативной памяти, платформа сбрасывает остаток во временные файлы.
  5. Некорректное завершение сеансов: Если пользователь закрывает терминальное окно "крестиком" или происходит сбой процесса 1С, созданные файлы v8_*.tmp не успевают автоматически удалиться и остаются в каталоге навсегда.

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

Перенос временных папок на RAM-диск

Проверенным и эффективным способом устранения задержек дискового ввода-вывода при отсутствии SSD является использование виртуального диска в оперативной памяти (RAM-диска). Так как операции с временными файлами v8_*.tmp сводятся в основном к быстрой записи и последующему удалению, размещение их в ОЗУ полностью снимает нагрузку с физического жесткого диска.

Проанализируем по шагам процесс настройки этого решения:

  1. Установка программы RAM-диска: Установим специализированный софт для создания виртуального диска в ОЗУ (например, QSoft RAMDisk или аналоги). Выделим необходимый объем оперативной памяти под каталог (например, от 8 до 32 Гб в зависимости от количества пользователей и задач).
  2. Изменение переменных окружения: Перенаправим системные переменные TEMP и TMP для пользователей на созданный RAM-диск (например, на диск R:\Temp). Это можно сделать централизованно через групповые политики (GPO), с помощью скриптов запуска или внесением изменений в реестр ОС.
  3. Настройка автоочистки: Помним, что RAM-диск очищается при перезагрузке сервера. Если сервер работает без перезагрузок долгое время, стоит настроить периодическое удаление старых файлов v8_*.tmp по расписанию.

Дополнительные способы оптимизации

Рассмотрим альтернативные и дополнительные методы, которые помогают снизить нагрузку на дисковую подсистему:

  1. Исключения антивируса: Добавим каталоги Temp, процессы 1cv8.exe, 1cv8c.exe, rphost.exe и маску файлов v8_*.tmp в исключения антивирусного сканера. Это исключит повторную проверку каждого мелкого файла при его создании.
  2. Использование символических ссылок (Junction Point): Если нет возможности изменить переменные окружения глобально, перенесем только конкретную папку Temp с помощью встроенной утилиты Windows: mklink /J "C:\Users\Username\AppData\Local\Temp" "R:\Temp"
  3. Очистка кэша и регламентных задач: Регулярно чистим кэш клиентских приложений с помощью ключа запуска /ClearCache и переносим тяжелые фоновые задания (например, обновление полнотекстового поиска) на нерабочее время.
  4. Контроль кода конфигурации: В собственных разработках обязательно вызываем метод УдалитьФайлы сразу после завершения работы с временными объектами и двоичными данными.
← На главную