Процесс COM Surrogate, почему грузит процессор и вызывает ошибки в системе

Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз мы с вами успешно устранили ошибку 0xc0000098, мешавшую загрузке системы. Идем далее и сегодня я хочу вам осветить вот такую интересную ситуацию, у меня есть хобби в виде коллекционирования книг комиксов про Дональда Дака и Скруджа Макдака. У меня идет процесс их оцифровки и последующей обработки, и вот на этапе обработки я столкнулся с тем, что не могу удалить или пере заменить файлы со сканами книг. При попытке их удалить я получал ошибку «Действие не может быть выполнено, так как этот файл открыт в COM Surrogate». Давайте разбираться, что за процесс dllhost.exe COM Surrogateм, почему он может нагружать процессор или даже быть вредоносом. Обо всем по порядку.
Что за процесс dllhost.exe COM Surrogate?
Технология Component Object Model (COM) является стандартом для разработки и использования программных компонентов в Windows. COM-объекты представляют собой независимые модули, которые могут быть использованы различными приложениями для выполнения определенных задач. Они могут быть написаны на разных языках программирования и предоставлять различные функциональные возможности.
COM Surrogate выполняет несколько важных функций:
- ✅Во-первых, он обеспечивает безопасность приложений, использующих COM-объекты. COM Surrogate работает в режиме изоляции, что означает, что если одно приложение, использующее COM-объект, завершается аварийно или содержит ошибку, это не повлияет на работу других приложений. Таким образом, COM Surrogate предотвращает возможность распространения ошибок или вредоносного кода на другие процессы.
- ✅Во-вторых, COM Surrogate выполняет функции по управлению памятью и ресурсами. Он контролирует выделение и освобождение памяти, а также управляет доступом к ресурсам компьютера. Это позволяет оптимизировать использование системных ресурсов и обеспечить стабильную работу приложений.
COM Surrogate также обеспечивает поддержку многопоточности. Это означает, что приложения могут использовать несколько потоков для параллельного выполнения задач. COM Surrogate следит за корректным выполнением потоков и предотвращает возможность конфликтов или блокировок, которые могут возникнуть при одновременном доступе к общим ресурсам. COM Surrogate запускается автоматически при необходимости. Обычно пользователь не видит этот процесс, так как он работает в фоновом режиме. Однако иногда пользователи могут заметить его в диспетчере задач или получить сообщение об ошибке, связанное с COM Surrogate.
Почему dllhost.exe COM Surrogate вызывает проблемы и какие они бывают
Давайте рассмотрим какие чаще всего встречающиеся проблемы вы можете поймать с COM Surrogate:
- Не удаляется папка или файл, у вас выскакивает сообщение «Действие не может быть выполнено, так как этот файл открыт в COM Surrogate«, сообщающее вам, что файл заблокирован другим процессом. Выглядит это вот так.

- ⛔️Какая-то сторонняя программа в вашей системе стала некорректно работать
- ⛔️При установке или запуске сторонняя программа неправильно зарегистрировала объекты COM, очень часто бывает, когда ПО старое и официально не поддерживает новую ОС
- ⛔️Высокая нагрузка в системе, например у вас полностью забита вся оперативная память, в следствии чего вы можете получить внезапное прекращение работы процесса COM Surrogate
- ⛔️Ошибку COM Surrogate может вызывать и проводник Windows в котором запущены определенные папки с видео файлами и фото
- ⛔️Нельзя и забывать про вирусную активность, когда зловред маскируется под процесс COM Surrogate
Как проверить COM Surrogate не является ли он вирусом
Если у вас стали появляться ошибки COM Surrogate, вы заметили, что ваш компьютер стал сильно жужжать после установки какого-то ПО или расширения в браузер, то есть высокая доля вероятности, что в в вашу систему пробрался вирус или майнер. Первое, что вы должны сделать, это запустить «Диспетчер задач«. Для этого нажмите одновременно три клавиши:
Далее вам необходимо перейти на вкладку «Подробности«. Тут вам необходимо найти процесс dllhost.exe в его описании вы увидите COM Surrogate. Как видите тут не видно, откуда запущен файл, давайте это исправим.

Включим дополнительный столбец в отображении. Щелкаем правым кликом по имени любого столбца, после чего из контекстного меню выбираем «Выбрать столбцы» и поставьте галочку «Путь к образу«. Это в целом полезная вещь.

В результате теперь у вас есть удобный столбец, где легко видно исполняемый файл. В моем случае dllhost.exe располагался по пути C:\Windows\SysWOW64\dllhost.exe, что нормально.
Так же dllhost.exe может легко ссылаться на C:\Windows\System32\ это нормально
Если процесс «dllhost.exe COM Surrogate» ведет на другое место, например папку загрузки или папку в профиле, то вам нужно сразу его проверить антивирусным решением. Как правило сам процесс COM Surrogate не вызывает повышенную нагрузку на CPU и висит в количестве одного или двух экземпляров процесса. Если у вас в диспетчере задач много процессов dllhost.exe, да еще и с высоким потреблением CPU, бейте тревогу и проверяйте на вирусы

Файл dllhost.exe ссылается на легитимное место, но всегда старайтесь проверить еще его свойства. Для этого откроем его из месторасположения. В контекстном меню выберите «Открыть расположение файла«.

Откройте свойства файла dllhost.exe, перейдите на вкладку «Цифровые подписи» и убедитесь, что тут в имени подписавшего стоит «Microsoft Windows«. Если сертификат другой на непонятно кого или его вообще нет, то это плохо и у вас скорее всего вирус.

# Получаем список всех процессов COM Surrogate
$comSurrogateProcesses = Get-Process | Where-Object
# Выводим информацию о процессах
$comSurrogateProcesses | Format-Table -AutoSize ProcessName, Id, StartTime, Path, Description
# Перебираем каждый процесс COM Surrogate
foreach ($process in $comSurrogateProcesses) # Получаем путь к файлу процесса
$filePath = $process.Path
# Получаем информацию о сертификате файла
$certificate = Get-AuthenticodeSignature -FilePath $filePath
# Выводим информацию о сертификате
Write-Host «File: $filePath»
Write-Host «Certificate Subject: $($certificate.Status)»
Write-Host «Certificate Issuer: $($certificate.SignerCertificate)»
Write-Host «—————————————————»
>
Как видите я вижу пусть к файлу, и вижу каким сертификатом он подписан. На основании этого я вижу, что процесс COM Surrogate не является вирусом.

Высокая нагрузка на процессор процессом dllhost.exe
Если процесс dllhost.exe COM Surrogate сильно нагружает процессор и он не является вирусом, то тут есть ряд причин, данная ситуация появляется при открытии определенной папки в проводнике, возможно, в ней находится поврежденный медиа-файл или же система не может создать эскиз файла (Thumbnail).
- Первое, что можно попробовать сделать, это запустить монитор ресурсов Windows. Для этого вызовем окно «Выполнить» и ведем там:
- Перейдите на вкладку ЦП и выставите галочку на против процесса dllhost.exe. После этого щелкните на сам процесс dllhost.exe и обратите внимание на область «Связанные модули«. Там могут фигурировать какие-либо файлы видео или изображений, если они есть попробуйте их удалить с компьютера. В большинстве случаев тут будут одни библиотеки, и вот с ними немного сложнее.

Если в мониторе ресурсов не удалось найти связанные модули, то можно прибегнуть к более тяжелой артиллерии в виде программы Process Explorer от Sysinternals. После скачивания утилиты, разархивируйте архив и запустите ее. Нажмите на иконку построения дерева процессов. В моем случае у меня было такое дерево процессов:
Главным был svchost.exe, в его состав шли WmiPrvSE.exe, RuntimeBroker.exe, dllhost.exe. Если навести мышку на dllhost.exe, то вы увидите какой COM-сервер запущен в рамках процесса. У меня это было:
C:\Windows\SysWOW64\DllHost.exe /Processid:

Перейдите в свойства dllhost.exe, на вкладку «Threads«. Убедитесь, что тут нет каких-то странных не системных библиотек.

Например, был случай, что у пользователя там были библиотеки Sonicmp4demux.ax (.ax — расширение, часто используемое фильтрами для DirectShow), которые были частью пакета авторинга от Roxio. По итогу было обновлено приложение Roxio и данная проблема, что процесс COM Surrogate грузит процессор ушла.
Дополнительно можно почитать по ссылке — http://www.docwin.ru/article912.html
Как я выше указал у меня был задействован COM Class: Thumbnail Cache Out of Proc Server. Например, в операционной системе Windows используется специальный инструмент — диспетчер файлов, который использует COM-объекты для создания уменьшенных копий изображений и других файлов при открытии папки. Эти COM-объекты обрабатывают различные типы файлов, включая изображения и видео, и создают эскизы для их предварительного просмотра.
Однако, использование COM-объектов может вызывать проблемы. Например, если COM-объект аварийно завершает работу, то он может отключить связанный с ним процесс. В прошлом, в операционной системе Windows, эти COM-объекты, отвечающие за создание эскизов, часто вызывали сбои и нарушали работу диспетчера файлов.
Для решения этой проблемы было введено новое решение. Теперь, когда диспетчер файлов (также известный как File Explorer) нуждается в создании миниатюр, он запускает отдельный процесс, называемый COM Surrogate. Внутри COM Surrogate находится специальный COM-объект, который выполняет задачу по созданию эскизов. Если этот COM-объект выйдет из строя, то произойдет сбой только в COM Surrogate, а основной процесс File Explorer продолжит свою работу с файлами.
Такое поведение DllHost возможно при создании эскизов файлов и формирование базы по ним thumbcache_32.db и т.д. по моему система просто не может эту базу создать или сопоставить с кодеком. И действительно в моем случае, когда я с помощью внешнего сервиса в Google Chrome производил обработку картинок, то не мог сохранить их в определенную папку, а вот в соседнюю без проблем. Тут вы можете выкрутить пересоздав папку, или отключить создание миниатюр, без них можно прожить.
Еще такое видел с программой по снятию снапшотов FastStone Capture, у которой был модуль по работе с видео. Именно он и вызывал высокую нагрузку на CPU при работе с проводником системы, там пришлось обновлять утилиту.
Отключение провайдеров Thumbnail
Расширения оболочки делают такие вещи, как добавление пунктов контекстного меню, создание эскизов изображений и видео; а также создание информации для столбцов в проводнике Windows (например, страниц PDF) и его свойств.
![]()
Вот пример с одного форума, где у человека были проблемы с миниатюрами mkv файлов.
» Я использовал ShellExView и заметил только один элемент типа «Thumbnail», который не был предоставлен MIcrosoft и касался видео — «Поставщик миниатюр DivX». Звучит не связанно (в конце концов, DivX и MKV — разные вещи), за исключением того, что в описании указано «Поставщик эскизов DivX MKV/AVI», а его отключение устранило проблему.
Если мне нужны миниатюры для файлов .mkv, я могу просто переустановить/восстановить DivX снова. Честно говоря, файлы .mkv воспроизводятся просто отлично, и в любом случае эти миниатюры стоили довольно дорого, поэтому я с радостью проживу без них.»
Откат на точку восстановления, удаление кодеков или других программ
Если у вас совсем недавно появилась ошибка «Прекращена работа программ COM Surrogate», то с высокой долей вероятности вы недавно производили установку какого-то приложения. Чтобы это выяснить вам нужно проверить даты.
Как узнать дату установки программ — Я уже подробно описывал, посмотрите
Если таковое место было, то самым быстрым методом вернуть все обратно является использовать точки восстановления системы. Либо вы можете попробовать удалить те программы после которых у вас появились проблемы с процессом COM Surrogate.
Как удалить программу я уже рассказывал
Очень часто причиной ошибки могут быть:
- K-Lite Codec Pack
- Просмотрщики PDF
- VLC
Проверка целостности системных файлов
sfc /scannow & DISM /Online /Cleanup-Image /ScanHealth & DISM /Online /Cleanup-Image /CheckHealth & DISM /Online /Cleanup-Image /RestoreHealth

Исправляем ошибки регистрации COM

По результатам сканирования вы можете увидеть большое количество ошибок Activex/COM. Попробуйте их исправить, нажмите кнопку «Посмотреть выбранные проблемы«

Обязательно создайте резервную копию реестра перед попыткой со стороны Ccleaner устранить ошибки COM Surrogate
Нажимаем «Да«.


Нажмите «Исправить отмеченные«, 205 ошибок будут устранены.

Я всегда сканирую реестр на новые ошибки, так как могут выявиться еще, как видите появились еще 21.

Вы должны добиться отображения 0 ошибок.

Дополнительные способы исправить ошибки COM Surrogate
Если вы дошли до данного раздела, то вы все еще не исправили проблему с процессом dllhost.exe, что я еще могу вам посоветовать:
- Попробуйте проверить вашу систему на вирусы, Касперским, Dr Web или утилитой AdwCleaner
- Попробуйте отключить DEP для dllhost.exe
- Изучите журналы Windows, там могут быть дополнительные события с ошибками, которые помогут изучить проблему шире и найти решение
- Попробуйте произвести установку обновлений в Windows, так как вполне возможно, что это баг и его уже давно поправили
Надеюсь, что вам удалось понять назначение процесса dllhost.exe COM Surrogate, что это не вирус, но с ним могут быть нюансу. Если вы нашли свой метод, то просьба поделиться им в комментариях, давайте помогать друг другу. С вами был Иван Сёмин, автор и создатель IT портала Pyatilistnik.org.
Дополнительные ссылки
- http://forum.oszone.net/thread-157094-2.html
- https://superuser.com/questions/371992/windows-explorer-crashes-when-loading-a-folder-that-folder-is-my-desktop
Популярные Похожие записи:
Произошла исключительная ситуация (Microsoft Office Excel): Нет доступа к файлу
Как отключить телеметрию в Linux- Словарь системного администратора
- Центр обработки данных, основные понятия
Как отформатировать диск в Refs
Ошибка DRS на кластере ESXI
COM Surrogate: что это за процесс и может ли он быть вирусом?
Возможно, вы когда-нибудь замечали, открыв «Диспетчер задач», процесс COM Surrogate. И наверняка задумывались, не может ли он быть вирусным ПО, наносящим вред ПК.
Обычно этот процесс постоянно присутствует в списке запущенных в количестве двух экземпляров. В этой статье мы расскажем, что это такое и нужно ли его опасаться.
Что такое COM Surrogate?
Это один из тех процессов, глядя на которые, сразу не поймешь, за что они отвечают. Например, рядом с ним отсутствует пользовательская иконка, присутствующая у многих других процессов.
Обычно, зайдя в «Диспетчер задач», замечаешь, что там одновременно выполняются два таких процесса. Если щелкнуть по любому из них ПКМ и выбрать «Перейти к деталям», можно увидеть, что на самом деле он носит название dllhost.exe. Кроме того, он загружается под юзером, а не «Система», Local Service или Network Service.
К счастью, в большинстве случаев COM Surrogate — не вредоносная программа, а критически важный процесс, постоянно присутствующий в системе и носящий название dllhost. Если кратко — это интерфейс, созданный Microsoft для разработчиков, который позволяет создавать элементы COM. Потом они добавляются к другим программам для увеличения их возможностей.
Вот типичный пример. В проводнике есть объект COM, способный производить миниатюры для картинок и видео. Но вдобавок он имеет склонность аварийно останавливать работу, что приводит к завершению работы проводника. Потом у всей системы начинаются большие проблемы, когда COM-объект по какой-либо причине начинает барахлить.
Чтобы избавиться от этого, Microsoft разработала Суррогат COM, запускающий объект COM обособленно, а не в запрашивающем его процессе. Так, в Проводнике он выполняется не в explorer.exe, а в новом суррогатном процессе COM. В этом случае, когда произойдет сбой объекта, он уберет лишь COM Surrogate, а Проводник продолжит функционировать. То, что это действительно так, проверить очень легко. Запустите Проводник, и в «Диспетчер задач» появится dllhost.exe. Наведя на него указатель мыши, можно заметить, что он имеет COM-класс Microsoft Thumbnail Cache, являющийся расширением, используемым для создания миниатюр в Проводнике.
Может ли COM Surrogate быть вирусом?
Но иногда троян или прочие вирусы скрываются в ОС, маскируясь как Суррогат COM. Как же распознать, что перед нами вирус, а не безобидный процесс?
Откройте диспетчер задач, щелкните ПКМ по процессу и выберите «Открыть расположение файла». Если путь приводит к файлу с именем dllhost в папке C:\Windows\ System32\, он вряд ли является вирусом.
! Но когда он ведет в другое место, нужно немедленно начать проверку на вирусы. Обычно COM Surrogate не грузит CPU и находится в количестве одного или двух экземпляров. Если же вы видите много dllhosts.exe или процесс потребляет от 1 до 2 процентов CPU, также стоит запустить проверку на вирусы.
Заключение
Надеемся, наша статья помогла прояснить вопрос, что же такое COM Surrogate и нужно ли его опасаться. И если, открыв «Диспетчер задач», вы случайно на него натолкнетесь, вас не станет беспокоить, почему этот процесс постоянно присутствует в системе в фоновом режиме.
Почему процесс COM Surrogate (dllhost.exe) нагружает ПК и что с этим делать?
Пролистывая в очередной раз список процессов в Диспетчере задач, можно наткнуться на процесс COM Surrogate, причем в некоторых случаях не на один, а два, три или даже больше. Как правило, процесс потребляет минимальный объем системных ресурсов, однако некоторые пользователи все же жалуются на его чрезмерную «прожорливость». В подробностях процесса также можно увидеть упоминание файла dllhost.exe.
Поподробней о COM Surrogate
COM — технологический стандарт, созданный компанией Майкрософт еще в 1993 году; программный интерфейс, который задействуется при создании так называемых «COM-объектов». При разработке последних могут использоваться самые разные языки программирования. На основе стандарта COM созданы ActiveX, DirectX и многие другие жизненно важные на сегодняшний день технологии.

«COM-объекты» — особые компоненты, библиотеки, которые расширяют существующий набор функций тех или иных приложений. Наиболее популярный пример с использованием COM-объектов — это миниатюры и эскизы различных файлов в системном Проводнике. Да-да, за всю эту приятную графику отвечают COM-объекты.
COM Surrogate — это своеобразная подушка безопасности; гениальная разработка Майкрософт, которая позволяет избежать аварийных завершений хост-процессов (контейнеров для нескольких элементов, отображающихся под флагом одного процесса). Вместе с приложением, использующего ряд определенных COM-объектов, параллельно запускается процесс COM Surrogate, который в свою очередь запускает те же COM-объекты, но только вне хост-процесса этого самого приложения. И если у приложения возникают серьезные проблемы, например, один из COM-объектов не отвечает, то происходит сбой не в работе не приложения, а COM Surrogate.

Проще говоря, если что-то идет не так, то все проблемы перекладываются на плечи процесса COM Surrogate.
Отключать или нет? Тревоги по поводу COM Surrogate
«А можно я просто отключу этот процесс? Ну а что, он нагружает мой ПК!»
Нет, делать этого нельзя — и мы рекомендуем даже не пытаться. COM Surrogate представляет собой критически важную часть ОС Windows, без которой многие вещи были бы невозможны. Поверьте, вам не стоит переживать насчет этого процесса — он всего лишь выполняет возложенные на него задачи с минимальными затратами. Однако, если вы видите, что он чересчур сильно нагружает ПК, попробуйте сделать вот что:
- перезапустите системный Проводник;
- установите на ПК свежую пачку мультимедийных кодеков;
- обновите графические драйвера (особенно если вы давно этого не делали);
- если нагрузка появилась после установки ПО — удалите это ПО;
- воспользуйтесь точкой восстановления.
Как правило, такие элементарные действия должны снять излишнюю нагрузку с вашего ПК.
Тревога: вирус!
В довольно редких случаях вирусы могут использовать COM Surrogate (dllhost.exe) для своих задач, но их относительно легко выявить. На что нужно обращать внимание:
- общее количество процессов;
- какой объем системных ресурсов потребляют процессы;
- расходуют ли процессы сетевой трафик;
- место расположение файла dllhost.exe.
По поводу последнего, dllhost.exe находится в системной папке System32 — и ни в каком другом месте! Если вы через Диспетчер задач выяснили, что «проблематичный» dllhost.exe находится, например, где-то среди документов или в корневой папке какой-то программы, срочно запускайте сканирование имеющимся антивирусом. Если ничего подозрительного не обнаружено, воспользуйтесь еще одним антивирусом.
Почему процесс dllhost.exe COM Surrogate грузит систему
Иногда на экране возникает окно с предупреждением о том, что некая программа под названием COM Surrogate прекратила свою работу, хотя вы её не запускали и вообще слышите о ней впервые. После получения сообщения компьютер начинает подтормаживать или даже шуметь, а когда вы открываете «Диспетчер задач», то обнаруживаете там неведомый процесс dllhost.exe, который стремительно поглощает ресурсы. Что произошло, и как вернуть ПК в нормальное состояние, мы расскажем далее.

Решение проблем с процессом dllhost.exe COM Surrogate.
Что за процесс dllhost. exe
Dllhost.exe запускает утилиту COM Surrogate, которая помогает открывать файлы графических программ, отображать фотографии, иконки и клипы – вот что это за процесс. Он позволяет приложениям связываться с библиотеками, видеокартой и другими компонентами, без которых невозможна корректная работа. То есть, когда вы пытаетесь просмотреть, например, фото, программа COM Surrogate срабатывает автоматически. Если что-то пошло не так, вы как раз и получаете то самое сообщение об ошибке.
Почему COM Surrogate грузит процессор
Когда вы входите в «Диспетчер задач», вы наверняка обращаете внимание, что dllhost.exe сильно грузит процессор. Это происходит по нескольким причинам:
- вы пытались просмотреть файл, в котором нарушена структура;
- компьютер заражен вредоносным ПО;
- повреждены или устарели компоненты, кодирующие или декодирующие данные (они нужны для правильного отображения информации, например, чтобы картинка на экране выглядела именно как изображение, а не как набор букв, цифр и символов или пустого окна с сообщением об ошибке);
- программа (просмотрщик фото, графический редактор, плеер, через который вы открываете файлы и т. п.) неправильно зарегистрировала элементы, которые должны связываться с COM Surrogate.

Методы устранения проблемы
Предлагаем несколько способов исправления ситуации. Начнём с устранения наиболее распространённых ошибок.
Деинсталляция кодеков
Нажмите «Пуск» – «Панель управления» (или для «Виндовс» 10 наберите фразу в «Поиск» и выберите «Классическое приложение»). Затем ищите «Мультимедиа и звук» – «Оборудование». Вы увидите две папки: «Аудиокодеки» и «Видеокодеки» – выбирайте в зависимости от того, что вы запускали перед тем, как увидеть сообщение об ошибке. Кодек нужно выделить, нажать «Свойства» и «Удалить». Если появится уведомление о необходимости перезагрузить ОС, нужно это сделать, чтобы не осталось никаких элементов, что в дальнейшем может вызывать проблемы.

Системные кодеки деинсталлируют так:
Заходим во вкладку «Установка и удаление программ» – «Установка Windows» – «Мультимедиа» – «Состав». Далее откажитесь от сжатия видео и аудио, убрав галочки в соответствующих местах.
Отключаем DEP
Если система опасно перегружена процессом Dllhost.exe, можно временно запретить его исполнение (пока не найдётся истинная причина сбоя). Перейдите по пути «Поиск в Windows» –«Панель управления» – «Система и безопасность» – «Дополнительные параметры» – «Быстродействие» – «Параметры» – «Предотвращение выполнения данных».

Поставьте галочку во вторую строчку, где предлагается выбрать, для каких программ будет отключен DEP. В поле впишите «C:\Windows\System32\dllhost.exe». А теперь проверьте «Диспетчер задач»: разгрузилась ли система после этих манипуляций.
Проверка на вирусы
Вполне вероятно, что некорректная работа COM Surrogate связана с вирусным поражением ОС. Запустите антивирус и выберите глубокую проверку. Встроенного в Виндовс «Защитника системы» здесь будет недостаточно. Лучше скачать полную или портативную версию какой-нибудь серьёзной программы, например, «Доктор Веб», «Антивирус Касперского», «Аваст» и т. п. Если ничто не помогло, можно воспользоваться утилитой CCleaner, чтобы проверить, не допустила ли какая-нибудь программа ошибку при регистрации своих элементов в COM Surrogate. Для этого откройте главное меню приложения и раздел «Реестр». Слева отметьте галочкой «Ошибки ActiveX и Class» и начните анализировать. Высветится список проблемных компонентов, выделите все и нажмите «Исправить».

Также можно восстановить систему через точки доступа. Зайдите в «Панель управления», поменяйте режим просмотра на «Значки» и выберите «Восстановление». Здесь можно согласиться на рекомендуемое или установить собственную дату и время, если вы помните, когда именно всё работало исправно.