свчост кушает память

6459
Jeremy Detrempe

У меня Windows 7. Кажется, что svchost поглощает много памяти.

Имя пользователя для конкретного экземпляра svchost - «Сетевая служба». Описание - «Процесс хоста для служб Windows».

Иногда он съедает 50% загрузки процессора. В других случаях это чуть менее 5%. Я не могу понять, когда это 50%, а когда нет. Но он часто колеблется - даже когда я только что загрузился и программы не запускались.

Как мне диагностировать это?

7
Исправление: "Процесс хоста ...", а не "Шланг" Hello71 14 лет назад 0

3 ответа на вопрос

7
William Hilsum

SVC Host состоит из множества сервисов, работающих на вашем компьютере. Я рекомендую вам либо щелкнуть по нему правой кнопкой мыши и выбрать «Просмотр служб», чтобы увидеть, что на самом деле вызывает его (после выбора процессов показа у всех пользователей).

alt text

Вы также можете использовать Microsoft / Sysinternals Process Explorer, который должен показать вам более подробно, что происходит.

alt text

(Наведите указатель мыши на процесс svchost.exe в Process Explorer)

Как вы попали в Sysinternals Process Explorer? Jeremy Detrempe 14 лет назад 0
Обновил мой пост со ссылкой - http://technet.microsoft.com/en-gb/sysinternals/bb896653.aspx Извините, я забыл это! это бесплатная загрузка от Microsoft. William Hilsum 14 лет назад 0
Просто дополнение, у меня недавно было 2 компьютера, на которых SVCHost.exe работал периодически и использовал от половины до двух третей доступной оперативной памяти. Я проверил, какие сервисы обрабатывал этот конкретный процесс, и все они казались законными, обновление Windows, wlansvc и т. Д. Я запустил сканирование roguekiller, потому что я все еще подозревал, и в обоих случаях RogueKiller остановил процесс и выкопал вредоносный файл. Итак, может быть, сканирование на наличие вирусов? Matthew_Sp 9 лет назад 1
У меня иногда возникает эта проблема. Инструмент «перейти к услугам» в диспетчере задач совершенно бесполезен. Конечно, он говорит вам, какие службы разделяют этот процесс. Но это не говорит вам, какой из них поглощает память! Есть ли какой-то способ изолировать эти службы от того, что они используют свой собственный экземпляр узла службы? Затем, когда проблема повторится снова, сервис-нарушитель будет единственным в своем раздутом контейнере. Kaz 9 лет назад 0
Ага, вопрос для этого: http://superuser.com/questions/860117/isolate-hosted-service-svchost-exe-in-its-own-process Kaz 9 лет назад 0
1
Kaz

The problem is that multiple services share a single process (a very silly design). This sharing means that if one of them uses a lot of memory, you cannot easily identify it. Worse, if one of them crashes, all of them go down. Likewise, if you want to kill the bloated mess, all of the services contained inside it die.

There is something you can do with Task Manager's list of services for that process, besides balk at it with exasperation. You can isolate those into their own svchost.exe processes to continue the investigation. If a svchost.exe uses a lot of memory and contains only one service, then that is the culprit.

I'd start by isolating the likely culprits, like Windows Update, which is known to cause svchost.exe bloat.

There is a recent fix for Windows Update which may help with this problem. KB3050265, among other things, "... addresses an issue in which system performance can be decreased during scans. This issue has the greatest effect on computers that have a small amount of physical memory."

There is a Superuser question dealing with service isolation, if you want to try it: "Isolate hosted service (svchost.exe) in its own process".

Here are screenshots of the problem happening, on a system in which the Windows Update Service has been isolated to its own process, confirming that it's the culprit:

Windows Update service being a pig

Service view of Windows Update service being a pig

Here is a capture of the Task Manager window on the same system, after the KB3050265 patch is applied. The typical behavior is now that the update service takes cap at around a 300 megabyte footprint (much smaller than before), while tying up a procesor 100%. Not ideal, but the impact on the system responsiveness is greatly mitigated. It finishes after a few minutes and is gone: Windows Update service: less of a pig now

0
gus27

Помимо Sysinternals Process Explorer, есть хорошая утилита с открытым исходным кодом для анализа того, что делает svchost : svchost viewer

svchost viewer screenshot

Похожие вопросы