4

В течение некоторого времени я замечал, что один из моих svchost.exe постоянно занимал 25% процессорного времени на моем 4-ядерном компьютере Win7 Ultimate. Этот конкретный хост хостинга:

  1. Криптографические сервисы (CryptSvc)
  2. DNS-клиент (DnsCache)
  3. Информация о местонахождении сети (NlaSvc)
  4. Рабочая станция (Lanman Workstation)

Я подозревал вирус, но Windows Essential обновлен и ничего не сообщает, а автозапуск не показывает ничего необычного.

Спасибо за помощь!

В соответствии с запросом стек потока занимает 25% процессора:

ntkrnlpa.exe!KeSetEvent+0x2a1
ntkrnlpa.exe!KeDelayExecutionThread+0x5cc
ntkrnlpa.exe!KeWaitForMutexObject+0x393
ntkrnlpa.exe!KeQueryHighestNodeNumber+0x9fe
halmacpi.dll!KfRaiseIrql+0xcb
halmacpi.dll!KeRaiseIrqlToSynchLevel+0x8f
halmacpi.dll!HalEndSystemInterrupt+0x67
halmacpi.dll!HalInitializeProcessor+0xae8
ncsi.dll!NcsiIdentifyUserSpecificProxies+0x3a47
ncsi.dll+0x31f0
ncsi.dll!NcsiIdentifyUserSpecificProxies+0x4c92
ncsi.dll+0x1e93
ncsi.dll+0x20a2
ncsi.dll+0x1808
ncsi.dll+0x2240
ntdll.dll!RtlIsCriticalSectionLockedByThread+0x474
kernel32.dll!BaseThreadInitThunk+0x12
ntdll.dll!RtlInitializeExceptionChain+0x63
ntdll.dll!RtlInitializeExceptionChain+0x36

Похоже, проблема с какой-то проблемой прерываний в HAL? Я постараюсь обновить все мои драйверы и доложить.

4 ответа4

2

Всякий раз, когда кто-то попадает в подобную ситуацию, первым шагом является остановка каждой из размещенных служб по очереди, ожидание нескольких секунд между ними и проверка, снижается ли использование. После того как вы сузили проблему до конкретной службы, вы можете выполнить поиск в Интернете, чтобы выяснить, сталкивались ли другие пользователи с такой же проблемой.

В этом случае, скорее всего, это действительно была служба DNS (Микле не указал, почему он считает, что это не так, и его предположение о HAL является ложным).

Из указанных служб единственная, которая, как известно, вызывает 100% загрузку ЦП, - это служба DNS. (Единственные ссылки на высокую загрузку ЦП в отношении других служб - это Vista+, где они используют тот же экземпляр svchost что и служба DNS. К сожалению это часто заканчивает тем, что стало невыявленным. [1] [2]) То, что на это потребовалось бы только 25% загрузки процессора, имеет смысл, поскольку он сказал, что это четырехъядерный процессор, поэтому служба DNS использовала 100% используемого ядра.

Проблема возникает всякий раз, когда файл HOSTS становится «слишком большим»; по какой-то причине, когда в файле HOSTS слишком много записей, служба DNS начинает вращаться, начинает привязывать ЦП и никогда не восстанавливается (нет, в результате долгое время до конца не работает, поскольку не завершается никогда даже после дня).

То , что , вероятно , произошли в данном случае является то , что Mikle скачала и установила большая HOSTS файл , как те , которые доступны из некоторого MSMVPs или использовала Spybot в иммунизации функцию.

К сожалению, единственный вариант в этом случае - либо сократить файл HOSTS до нескольких записей, либо отключить службу DNS.

Обратите внимание, что как только служба DNS вылетит из-под контроля, вы вряд ли сможете просто остановить ее, как обычную службу; на самом деле вы должны уничтожить экземпляр svchost.exe , на котором он находится. Это не так уж плохо в XP, потому что обычно он получает свою собственную копию, но в 7 он делит копию с несколькими другими службами (хотя это и не критично, так что вы можете просто перезапустить другие службы после отключения DNS). оказание услуг).

1

Запустите Process Explorer (также из Microsoft Sysinternals) в качестве администратора.

Посмотрите на вкладку Threads в svchost.exe, который потребляет слишком много,
вы можете получить стек очень занятого потока, чтобы посмотреть, что он делает, или скопировать его здесь.

1

У меня тоже было это; но это может или не может быть то, что происходило с вами. Как вы и просили об этом ~ 5 лет назад, это, скорее всего, поможет другим, чем спрашивающему. У меня тоже есть большой файл HOSTS, и это может привести к тому, что служба DNS будет очень загружена сразу после загрузки; но это явление исчезнет после того, как Интернет отреагирует нормально. При чуть более 171 000 записей мой Core I3-2100 станет доступным через 2-3 минуты. Если это продолжится после того времени, это, вероятно, не так.

Я сделал то, что ответил парень, предложивший Process Explorer, и нашел виновника. В моем случае у меня есть ASUS mobo, и я доверительно установил Asus AI Suite II. Он устанавливает файл с именем «AsRoutineController.exe», который, как указал Process Explorer, использует 24-25% ЦП, то есть практически все одно ядро. Это похоже на панель, которая запускает апплеты AI Suite. Остановка AI Suite II из системного трея привела к его остановке. Перезапуск приложения AI Suite II НЕ приводил к возобновлению проблемы. К сожалению, в прошлом я видел, как это происходит при новой загрузке, даже после того, как Интернет начинает нормально реагировать. Таким образом, кажется, что единственный способ предотвратить потерю 25% вычислительной мощности - это просто удалить AI Suite II, если это то, что вызывает его у вас.

1

Это DNS-клиент делает это. Остановите службу, и она выйдет. (В любом случае услуга не требуется. Он предназначен для ускорения поиска DNS, но я не заметил разницы, так как я установил его на Ручной.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .