Com surrogate 1c грузит оперативную память
Если Вы просматриваете диспетчер задач , то есть вероятность, что Вы увидите один или несколько процессов COM Surrogate, запущенных на ПК в ОС Windows. Эти процессы имеют имя файла «dllhost.exe» и являются частью операционной системы Windows. Вы можете увидеть их в Windows 10, Windows 8, Windows 7 и даже более ранних версиях Windows.
Создание новой учетной записи
Во многих случаях нагрузка, создаваемая процессом COM Surrogate, связана с поврежденным профилем пользователя. Поэтому попробуйте создать новую учетную запись и проверьте, грузит ли процесс COM Surrogate ресурсы оперативной памяти и процессора.
Если используете Windows 10, перейдите на вкладку «Семья и другие пользователи» командой ms-settings:otherusers из диалогового окна Win + R.
Нажмите на плюс, чтобы добавить пользователя для этого компьютера и следуйте инструкциям мастера создания учетной записи. В следующем окне кликните на ссылку «У меня нет данных для входа этого человека». Затем добавьте пользователя без данных Майкрософт, введите логин и пароль и подтвердите создание новой учетной записи.
После перезагрузите компьютер и войдите в систему под вновь созданным профилем. Проверьте в Диспетчере задач, грузит ли dllhost.exe системные ресурсы, в частности, процессор и память.
Если используете Windows 7, введите в строке системного поиска mmc и перейдите в консоль управления Microsoft с правами администратора.
Перейдите в меню Файл – Добавить/удалить оснастку.
В окне «Оснастка» выберите пункт «Локальные группы и пользователи», затем щелкните на «Добавить».
В открывшемся окне укажите локальный компьютер и нажмите на «Готово».
Если под выбранными оснастками появилась добавленная запись кликните на «ОК», чтобы закрыть окно. В левой панели кликните на «Локальные пользователи и группы», затем на «Пользователи». Затем перейдите в верхнее меню «Действие» и выберите пункт «Новый пользователь».
Введите данные для нового профиля и нажмите на «Создать». После перезагрузите компьютер и войдите в новую учетную запись. Если нагрузка на процессор снизилась до нормальной, перенесите личные данные в новый профиль.
Что такое COM Surrogate (dllhost.exe)?
COM означает Component Object Model . Это интерфейс Microsoft, представленный еще в 1993 году, который позволяет разработчикам создавать «COM-объекты» с использованием различных языков программирования. По сути, эти COM-объекты подключаются к другим приложениям и расширяют их. Например, диспетчер файлов Windows использует COM-объекты для создания уменьшенных изображений и других файлов при открытии папки. COM-объект обрабатывает изображения, видео и другие файлы для создания эскизов. Это позволяет, например, расширять проводник с поддержкой новых видеокодеков.
Однако это может привести к проблемам. Если COM-объект выйдет из строя, он отключит хост-процесс. В какой-то момент для этих COM объектов, генерирующих эскизы, было обычным делом обрушение и удаление с него всего процесса проводника Windows.
Чтобы устранить эту проблему, Microsoft создала процесс COM Surrogate. Процесс COM Surrogate запускает COM-объект вне исходного процесса, который его запросил. Если COM-объект выйдет из строя, это приведет к сбою только процесса COM Surrogate, и исходный процесс хоста не будет аварийно завершен. Например, проводник Windows запускает процесс COM Surrogate всякий раз, когда ему нужно генерировать миниатюрные изображения. Процесс COM Surrogate содержит COM-объект, который выполняет эту работу. Если COM-объект выйдет из строя, произойдет сбой только COM Surrogate, и исходный процесс проводника продолжит работу.
«Другими словами», как утверждает официальный блог Microsoft The Old New Thing ,
«COM SURROGATE — ЭТО ОЗНАЧАЕТ, ЧТО Я НЕ ОЧЕНЬ ХОРОШО РАЗБИРАЮСЬ В ЭТОМ КОДЕ, ПОЭТОМУ Я СОБИРАЮСЬ ПОПРОСИТЬ COM РАЗМЕСТИТЬ ЕГО В ДРУГОМ ПРОЦЕССЕ. ТАКИМ ОБРАЗОМ, ЕСЛИ ОН ПОТЕРПИТ КРАХ, ТО ЭТО ПРОЦЕСС ЖЕРТВОПРИНОШЕНИЯ COM SURROGATE, КОТОРЫЙ ПАДАЕТ ВМЕСТО МЕНЯ».
И, как Вы могли догадаться, COM Surrogate называется «dllhost.exe», потому что COM-объекты, на которых он размещается, являются DLL-файлами.
Как я могу узнать, какой COM-объект является COM Surrogate?
Стандартный диспетчер задач Windows не дает Вам много информации о том, какой объект COM или DLL-файл обрабатывается COM Surrogate. Если Вы хотите увидеть эту информацию, то мы рекомендуем использовать Microsoft Process Explorer . Загрузите его, и Вы сможете просто перейти к процессу dllhost.exe в Process Explorer, чтобы увидеть, какой COM-объект или DLL-файл он размещает.
Это вирус?
Сам процесс COM Surrogate не является вирусом и является нормальной частью Windows. Однако он может быть использован вредоносными программами. Например, вредоносное ПО Trojan.Poweliks использует процессы dllhost.exe для выполнения своей работы. Если вы видите большое количество процессов dllhost.exe, и они используют заметное количество CPU, это может указывать на то, что процесс COM Surrogate подвергается атаке со стороны вируса или другого вредоносного приложения.
Если Вы обеспокоены тем, что вредоносное ПО злоупотребляет процессом dllhost.exe или COM Surrogate, то Вы должны запустить проверку с помощью антивирусной программы, чтобы найти и удалить любую вредоносную программу, присутствующую в Вашей системе. Если Ваша антивирусная программа говорит, что все в порядке, но у Вас есть подозрения, то запустите сканирование с помощью другого антивирусного инструмента, чтобы получить второе мнение.
почему он занимает так много памяти?
Я подозреваю что это червь, как его удалить?
Помогите пожалуйста кто знает что это и что с ним делать.
В твоём компьютере очень много запущенных процессов, компьютер сними не справляется, происходит ошибка в dllhost.exe вот тебе и последствия. При таком количестве я не сомневаюсь, что сидит парочка десятков троянов. Сноси аваст и ставь касперский, удали все не нужные программы, проверь всё на вирусы полностью, поставь на ночь проверку полную. Установи Vit Registry Fix и Ccleaner почисти ими реестр.
не надо удалять, проверьте на вирусы Настоящий файл dllhost.exe - это безопасный системный процесс Microsoft Windows, который называется "COM Surrogate". Тем не менее, авторы зловредных программ, таких как вирусы, черви, и трояны намеренно называют процессы таким же именем, чтобы избежать обнаружения. Вирусы с тем же именем файлов: вроде WORM_VB.GZP или WORM_VB.IAX (определяется антивирусом TrendMicro), и Trojan:Win32/VB.ZC (определяется антивирусом Microsoft).
C:\Windows\System32 если находится в этой дериктории то все ок, если нет, прогоняйте систему сканером от Д. вэб,
В process explorer посмотри в строке запуска этого процесса UUID (<. >) объекта, далее в реестре в ключах HKEY_CLASSES_ROOT\CLSID\ и HKEY_CLASSES_ROOT\Wow6432Node\CLSID\ ищи (через поиск, разумеется) классы содержащие параметр AppID равный полученному ранее UUID, в параметре по умолчанию этих классов будет описание объекта, а в подключе InprocServer32 будет указан файл, ответственный за этот объект. Если это не системный файл, можно проверить его на вирустотал и вообще погуглить что это.
Хм, этот суррогат ком уже много кому попортил нервы и прикол в том, что у каждого решение в итоге нашлось свое. Что делать конкретно вам не могу сказать но посоветую прочесть эту статью вполне может быть что поможет:
При значительном снижении производительности системы в Диспетчере задач замечаем процесс dllhost.exe, который чрезмерно грузит процессор и оперативную память. Во многих случаях проблема указывает на поврежденную учетную запись пользователя, а также является признаком заражения системы.
Dllhost.exe – что это за процесс?
В общем dllhost.exe -это хост для некоторых исполняемых файлов и библиотек DLL. Многие ошибочно считают его источником высокой нагрузки на процессор и оперативную память. Причиной проблемы является не хост-процесс, а загруженный файл DLL, который ее использует в текущий момент.
По умолчанию dllhost.exe находится в папке C:\Windows\System32. Поэтому когда процесс начинает чрезмерно грузить ресурсы системы, в первую очередь проверьте, находится ли он в этой папке с помощью Диспетчера задач. Откройте последний нажатием на Ctrl + Shift + Esc и на вкладке Процессы найдите COM Surrogate. Если запущено более 4 процессов и в конце присутствует «*32», скорее всего, имеете дело с вирусом.
Чтобы проверить, посмотрите, где находится файл. Щелкните правой кнопкой мыши на процессе и выберите пункт «Открыть расположение файла». Если он расположен в другом месте, то, скорее всего, сталкиваетесь с вредоносным или рекламным программным обеспечением.
Могу ли я отключить его?
Вы не можете отключить процесс COM Surrogate, так как это необходимая часть Windows. Это действительно просто контейнерный процесс, который используется для запуска COM-объектов, которые другие процессы хотят запускать. Например, проводник Windows регулярно создает процесс COM Surrogate для создания эскизов при открытии папки. Другие программы, которые вы используете, также могут создавать собственные процессы COM Surrogate. Все процессы dllhost.exe в вашей системе были запущены другой программой, чтобы сделать что-то, что хочет сделать программа.
Проверка компьютера на вирусы
Существует много вирусов, которые могут маскироваться под системные процессы для распространения вредоносного кода. Если видите много запущенных dllhost.exe с окончанием «*32», которые сильно грузят процессор, то это указывает на то, что под процессом COM Surrogate работает вредоносное приложение.
Вот список вирусов, которые скрываются под COM Surrogate: Artemis!895C95A0B930, Worm/Loveelet-DR, Win64:Malware-gen, Worm/Nachi.A1.
Некоторые из них заставляют работать системные ресурсы путем майнинга для различных криптовалют. Поэтому проверьте Windows мощным сканером безопасности. Среди бесплатных антивирусов рекомендуется использование Malwarebytes, которым можно выполнить полное сканирование.
После завершения сканирования перезагрузите компьютера независимо от результата. Если COM Surrogate продолжает грузить ресурсы процессора и ОЗУ, перейдите к следующему способу.
Восстановление системы
Если dllhost.exe продолжает грузить процессор, попробуйте вернуть систему в предыдущее состояние до точки, которая была создана до возникновения высокой нагрузки на ресурсы.
Откройте мастера восстановления командой rstrui из окна Win + R.
На втором экране выберите снимок системы, который был создан до начала интенсивного использования процессора и оперативной памяти.
В следующем окне нажмите на «Готово», чтобы запустить процесс восстановления. После автоматической перезагрузки ОС будет возвращена в предыдущее состояние. Если не удалось восстановить, повторите процесс и выберите другую точку. После проверьте, вернулась ли нагрузка на ЦП, создаваемая COM Surrogate, в нормальное состояние.
До 2019 все было хорошо, пока 1С не изменила политику по лицензиям. Настройки сервера по политике вернули по умолчанию и теперь нам приходится раз в неделю перезагружать сервер. Через полдня уже опять 90%, через неделю доходит до 98 и зависает.
Системные администраторы предлагают обновить скул, но это не поможет на мой взгляд.
У кого-нибудь были такие проблемы? как решали?
Грузит память 1С, а админы предлагают обновить скуль?
Хм. Интересное предложение.
Так какой процесс отжирает память?
(0) Давай подробности. 1С x64 ? Админы могу предполагать как гадить в туалете , а без анализа тратить деньги не надо. Пусть смотрят performance и поставят счетчики нужные.
то есть получается можно посмотреть в сторону КОРП и вернуть настройки?
про неправильный запрос думала, но не знаю как выловить, память растет постепенно
(20) 1С рекомендует настройки SQL-сервера совместно с сервером 1С.
Обещают, что даже 1С будет быстрее работать при правильной настройке обслуживания баз 1С.
(22) да, раньше было несколько процессов и завершались автоматически проблемные, после возврата настроек так не происходит.
поэтому предложили попробовать настроить сервер
попробовать килять старые сеансы вручную в админке (особенно фоновые), помотреть в сторону системы взаимодействия по отключению пользователей из 1с
но не знаю насколько это будет эффективно выгружать неиспользуемую память
(19) нет смысла смотреть в сторону КОРП на таком числе пользователей. Хотя. посмотреть можно. только, когда увидите стоимость этого решения, то сразу же от него откажетесь.
+(20) плюс как настроен вакуум ну скуле? В админке севера скуля посмотрите к каким таблицам больше всего обращений и сколько они размером и ресурсов сколько едят. Найдите эти таблицы в 1с. Посмотрите какие запросы/обработчики с этими таблицами работают, замерьте время работы и т.д. Возможно обрезать базы на начало прошлого года или даже этого. Вариантов куча.
Но в моем случае помогло одно, полная очистка сервера от 1с и скуля. Оставалось много мусора от предыдущих версий платформ и серверов.
Плюс граммотно настроили конфиг скуля и вуаля все летают, а оперативка больше 36 не хавается никогда
(28) я бы на вашем месте попробовал другие релизы платформы. Вот у нас, когда начали появляться 16-ые, то держались на одном 14-м релизов, пока не появился 8.3.17.1549
А у вас на этом сервере баз БП вероятно нет?
(32) по моему вакуум всего раз делали вручную.
про таблицы спасибо!
свертка базы запланирована на следующий год
(36) просто базы БП 3 заставляют сейчас всех заменять платформу.
А "утечки памяти" на разных релизах платформы все-таки неодинаковые.
Очень может быть, что вся проблема будет снята просто переходом на другой релиз и все.
(38) ну вот в списке рекомендованных для актуальных БП 3 этого релиза уже нет. Если в виртуалке у вас БП 3 актуальные, то и релиз там будет другой.
(0) Так поставьте КОРП, вы же купили раньше 2019г. Если программный - должно было автоматом примениться, если HASP - надо получить в личном кабинете (можно ли сейчас - не знаю, откройте письмо).
Запускаем сервер 1С и внимательно ждем меньше суток.
В памяти висят несколько rphost.
Почти всегда из 16 гигов оперативы какой-нибудь отдельно взятый rphost жрет памяти в размере "16Гб - занятая_остальными_приложениями_память - так_и_быть_оставлю_тебе_крохи_на_бедную_старость".
Кроме того, по какой-то причине как правило он же жрет и процессор, примерно по тому же принципу "Сожру_все_что_свободно_оставлю_процентов_пять_на_милостыню_нищим".
Гуглил гуглил, яндексил яндексил, нихрена не нашел адекватного решения, везде только перезапуск сервера 1С ну или снятие rphost.
Так что, нет цивилизованного решения, кроме как резать по-живому?
(1) Это я в курсе.
Но во-первых, бывает так, что и в течение дня уже сожрано все, что можно.
Во-вторых, это как бы рубит сеансы, что не очень хорошо.
В-третьих, не совсем понятно, почему так жестко.
(2) Заметил, правда, что и вырубание rphost и перезапуск службы сервера 1С рубит сеансы не гарантированно, бывают выжившие и часто.
Но гарантий, что кто-то выживет, нет никаких.
(3) А я при перезапуске еще temp пользователя, от имени которого запущен сервис Агента 1С:Предприятие, чищу и удаляю snccntx из каталога кластера. Не выживает никто.
(6) периодически фиксят баги, стараемся обновляться оперативно на последние релизы, часто шлем вопросы в поддержку, иногда решают. Из последних - был поднятый но не подключенный сетевой интерфейс, за счёт этого сносило башню серверу и не корректно поднимался кластер (не видел лицензии с другого сервака) отослали журнал регистрации - дали совет отключить и все заработало более стабильно. А вообще при переезде с 16 на 32 г сервер значительно выросла отзывчивость и уменьшилась падучесть.
аптайм сервера 1C-Предприятие небольшой. порядка 10 дней.
(9) Ну вот у кого как.
У кого-то жрет у кого-то не жрет.
У всех разные винды, платформы, даже сервер у кого-то 32, а у кого-то 64.
Не говоря уже о количестве баз, регламентных заданиях и пр.
Характерная деталь. Тут ни когда, почти, обсуждение вариантов решения проблемы не начинается с публикации определения, трактовки термина и т.п., т.е. сути того, что составляет проблему.
Запуск средства проверки системных файлов
Высокая нагрузка на процессор, создаваемая процессом dllhost.exe, может произойти в результате повреждения системных файлов. Для этого проверим целостность ОС командами SFC и DISM. Первая в случае обнаружения поврежденных компонентов перезаписывает их рабочими копиями из локального хранилища.
Откройте командную путем введения «cmd» в поле поиска Windows и последующим запуском найденного результата с правами администратора.
В консоли выполните команду:
Сканирование может занять продолжительное время, не прерываете его и дождитесь завершения. После запустите утилиту DISM, которая использует внешние сервера Майкрософта для загрузки копий, требуемых для замены поврежденных. Поэтому перед запуском подключитесь к интернету и выполните команду:
DISM.exe /Online /Cleanup-image /Restorehealth
Не закрывайте командную строку, пока сканирование не достигнет 100%.
Читайте также: