Ситуация, когда процессы тонкого клиента 1cv8c.exe начинают потреблять значительные ресурсы процессора (ЦП) на терминальном сервере, даже если пользователи не проявляют активности, является распространенной проблемой для платформы 1С:Предприятие версий 8.3.23 и выше. Разберем детально причины этого «магического» поведения и проанализируем шаги, которые помогут локализовать и устранить проблему.
Проанализируем типичную ситуацию: на сервере работает около 10 пользователей через RDP. В какой-то момент загрузка ЦП взлетает до 100%, при этом диспетчер задач показывает, что ресурсы потребляют 4-5 процессов 1cv8c.exe. Самое странное — пользователи в это время могут даже не находиться за компьютерами, а в Журнале регистрации 1С не фиксируется никаких фоновых заданий или активных действий.
Важной зацепкой является синхронность нагрузки: процессы начинают «троттлить» одновременно, часто с определенной периодичностью (например, каждые 10 секунд). Выясним причину такого поведения, рассмотрев наиболее вероятные факторы.
Одной из главных причин, подтвержденных практикой, является поведение тонкого клиента при кратковременной потере связи с сервером 1С. Рассмотрим, как это происходит:
Поскольку этот цикл выполняется на уровне ядра платформы, запросы к базе данных не уходят, и Журнал регистрации остается пустым. Решением в данном случае является принудительное завершение сеансов и анализ стабильности канала между терминальным сервером и сервером 1С.
Современные версии 1С (начиная с 8.3.23) активно используют аппаратное ускорение для отрисовки интерфейса. В среде удаленных рабочих столов (RDP) это может привести к конфликтам. Проанализируем ситуацию: если система пытается использовать драйвер WDDM для отрисовки графики 1С, а аппаратных ресурсов видеокарты не хватает (или она виртуализирована некорректно), нагрузка перекладывается на ЦП.
Рассмотрим шаги по оптимизации графики:
/AppAutoPerf. Этот параметр заставляет 1С автоматически подстроить производительность интерфейса под текущие условия.Даже если форма кажется «примитивной», она может генерировать скрытую нагрузку. Разберем по шагам, что нужно проверить в конфигурации или настройках пользователя:
ПериодАвтообновления, клиент будет регулярно «дергать» сервер. В условиях терминала это умножается на количество пользователей.ПодключитьОбработчикОжидания(). Если обработчик не отключается корректно, он может продолжать работу «вхолостую».Если визуальный осмотр не помогает, проведите замер производительности контура 1С и выясним причину с помощью Технологического журнала (ТЖ). Настроим сбор данных на стороне терминального сервера. Нам интересны события, связанные с исключениями и длительными операциями на клиенте.
Создадим файл logcfg.xml в папке настроек 1С (обычно C:\Program Files\1cv8\conf) со следующим содержанием:
<config xmlns="http://v8.1c.ru/7.4/config/logcfg">
<log location="C:\LOGS\1C_CLIENT" history="2">
<event>
<eq property="Name" value="EXCP"/>
</event>
<event>
<eq property="Name" value="CLSTR"/>
</event>
<property name="All"/>
</log>
</config>
Проанализируем полученные логи после очередного скачка нагрузки. Если в логах превалируют события EXCP, связанные с сетевыми именами или компонентами gdiplus.dll, это подтвердит теорию о проблемах с графикой или сетевым стеком.
Современная 1С часто использует встроенные браузерные движки для отображения новостей и баннеров. Посмотрим на этот аспект:
1cv8c.exe может зависать при попытке инициализировать Microsoft Edge WebView2, если он не установлен в системе или поврежден. Рекомендуется установить WebView2 Evergreen Standalone Installer.%AppData%, но и убедиться, что удалены временные файлы в LocalLow.Важный момент: Как отмечено в сообщении №50, перезагрузка сервера 1С часто провоцирует этот баг у «старых» сессий. Рекомендуется настроить регламентное завершение спящих и неактивных сеансов на стороне сервера 1С, чтобы предотвратить их переход в состояние «зацикливания».