У меня есть двухъядерный процессор, и один из двух постоянно на 100%. Поиск в ProcessExplorer показывает мне, что это отложенные вызовы процедур. Чтение вокруг сети, кажется, дает мне множество разных ответов.
Можно ли изложить пару шагов, чтобы попытаться сузить суть проблемы в моем случае?
Обновление 1: FWIW, проблема сохраняется даже в безопасном режиме.
Обновление 2: я отключил все, что мог, от задней панели ПК, и это купило мне на 40% больше бесплатного процессора. Я также скачал инструмент RATTV3 , но по какой-то причине на моей машине он не дает мне разбивку драйверов. Там есть описание хорошо обоих DPCLatencyChecker и RATTV3 здесь .
Обновление 3: , LatencyMon (см мой ответ ниже) говорит мне , что это nvstor32.sys
- что драйвера от NVIDIA SATA - со временем около 5300 мкс.
Обновление 4: сюжет утолщается, и, размышляя о том, стоит ли пытаться загрузить загрузочный диск (чтобы увидеть, действительно ли это драйверы, а не аппаратная проблема), я заметил, что DVD / CD-проигрыватель не работает (то есть даже не открывает дверь, когда я нажимаю на кнопку). Учитывая, что машина только что вернулась после замены материнской платы, я подумала, может быть, они забыли подключить ее. Я открыла коробку, все было в порядке, но я отключила и снова включила ее. При перезагрузке все было в порядке - больше нет DPC (самый высокий сейчас 300 мкс)!
Обновление 5: на следующий день проблема возвращается, проигрыватель компакт-дисков снова не работает, даже курсор в текстовом поле пароля медленно мигает ... Попытка отсоединить все, что я мог придумать, и при второй перезагрузке снова заработала (как на Update2 ). В следующий раз я попытаюсь полностью отключить проигрыватель компакт-дисков ...
Обновление 6: только что заметил, что в журнале системных событий выдается nvstor32.sys
сообщение об ошибке Parity error detected in \Device\RaidPort0
, а затем предупреждение об отправке повторной инициализации. Теперь просто нужно выяснить, какой из них RaidPort0
... (обратите внимание, у меня нет настроек RAID, это просто болотный стандартный Acer). О, и моя установка Avast, очевидно, была убита, когда я выполнял откат системы (или как он там называется), потому что он не запускается (ошибка RPC), не удаляется (произошла ошибка setiface).
Обновление 7: Наконец-то пришло время перезагрузки с отключенным DVD. Больше никаких проблем с ЦОД! (много ошибок страницы, хотя, но это на потом). Следующий шаг: выясните, если это кабель или DVD-плеер.
Обновление 8: заимствовал кабель SATA, загрузился с ним, без проблем. CD / DVD-плеер работает, нет проблем с DPC nvstor32.sys
, нет блокированных процессоров. Хэппи-энд ... почти: у меня все еще есть проблемы с Avast, очевидные проблемы с DPC storport.sys
при запуске (может быть, нормально для USB?), И много грубых сбоев страниц. Но это будет предметом других вопросов.
Постскриптум: у меня недавно возникла та же проблема, и с помощью того же метода удалось отследить ее до USB-флешки (той, которую я использовал для ReadyBoost), которую снимали.
источник
Ответы:
Вот история того, как я нашел причину моей высокой задержки DPC.
Моя система испытывала щелчки и треск во время воспроизведения звука. Я знал, что это означало, что что-то в режиме ядра перегружало процессор. Моей первой мыслью было поковыряться в Process Explorer и посмотреть, не выглядит ли что-нибудь неуместным. Единственное, что привлекло мое внимание, это чрезмерное количество времени, затрачиваемое на выполнение отложенных процедурных вызовов (DPC):
Я знал, что DPC - это код, запускаемый внутри драйвера; Задача состояла в том, чтобы выяснить, какой водитель. Я обратился к DPC Latency Checker , который показал мне, насколько велика задержка:
DPC Latency Checker предлагает пройтись по устройствам в диспетчере устройств и отключить ненужное оборудование по одному (например, сетевую карту, звуковую карту) в надежде изолировать неисправный драйвер. (Если вы отключаете устройство, и задержка DPC внезапно падает: вы нашли своего преступника!)
К сожалению, после отключения всего, что я, возможно, мог (хотя все еще мог использовать компьютер - не отключайте жесткий диск, видеокарту, мышь или USB-концентратор, к которому подключена мышь!), Задержка все еще была высокой. Затем я обратился к Windows Performance Toolkit (часть Windows SDK ) и отличному сообщению в блоге Питера Вейланда "Измерение времени DPC" . После установки Windows Performance Toolkit:
Я открыл командную строку с повышенными правами и запустил:
После того, как я позволил этому запускаться в течение минуты, я остановил трассировку и сохранил ее в файл:
И тогда я просмотрел результаты трассировки с помощью команды:
Это загружает графический анализатор производительности Windows . Щелкнув правой кнопкой мыши по графику использования ЦП DPC , я выбрал Сводную таблицу . Это показывает разбивку времени, проведенного в ЦОД водителем:
Сразу видно, что один драйвер (
tsvp.sys
) в среднем выполняет 2,8 мс на выполнение DPC, что на порядок медленнее, чем у любого другого драйвера:Гугл
tsvp.sys
дал мне ответ: CommView , который я недавно установил.Вопрос теперь в том, как отключить этот драйвер. Используя автозапуск , я вижу, что он установлен как служба драйверов:
Используя диспетчер устройств, я могу отключить службу, на которой размещен этот драйвер. Сначала вы должны показать скрытые устройства , затем разверните
Non-Plug and Play Drivers
узел:Наконец, я мог остановить службу драйверов и изменить режим запуска с
System
(означает, что драйвер является неотъемлемой частью Windows, и Windows не может загрузиться без него), наDemand
(что означает, что я могу запустить драйвер, когда захочу):Остановка службы драйверов сразу исправила мою задержку DPC:
Я могу или не могу полностью удалить CommView, но на данный момент я решил проблему с высокой задержкой DPC.
Обновление : Начиная с Windows 8, вы больше не можете видеть драйверы без Plug and Play в диспетчере устройств :
Microsoft забрал эту функцию и заменил ее ничем. Отличная работа.
В типичной ярости ботаников, некоторые бесполезные ответы :
К счастью, NirSoft создал замену. ServiWin позволяет вам видеть, останавливать и запускать все службы (даже те, которые Microsoft решила разрешить администраторам видеть):
источник
ОТЧЕТ О ПРОГРЕССЕ
Лучший инструмент, который я нашел на данный момент, - это LatencyMon , который в основном делает все, что делают предыдущие два инструмента, не заставляя вас думать. Страница загрузки просит вас зарегистрироваться по электронной почте - но у меня ничего не случилось, когда я это сделал - но вы можете в любом случае прокрутить страницу вниз, чтобы загрузить.
источник
В моем случае я использовал LatencyMon (из ответа Бенджола) и обнаружил, что драйвер зависает, вселенная и все остальное (также)
storport.sys
является драйвером Microsoft для « высокопроизводительных шин ». Это подтвердило мое подозрение, что проблема связана с IO.Я также пошел дальше и посмотрел на мою Windows 7 Event Viewer , папку « Журналы Windows -> Приложение» , и обнаружил несколько пакетов ошибок из Volume Shadow Copy (VSS), происходящих каждые 30 минут до 2 часов. Они детали были такими:
Затем я начал исследовать, что такое VSS и для чего он используется. Подхожу несколько - страниц - о - ВСС устранения неполадок . Проходя через все это, у меня был один большой подозреваемый: мое программное обеспечение для резервного копирования CrashPlan .
Следуя этому примеру, я быстро нашел страницу, связывающую его с ошибками VSS . Следуя инструкциям там, чтобы отключить резервное копирование открытых файлов, которые используют VSS, зависания, высокая загрузка ЦП ядра и т. Д. Были полностью исчезли. И не поймите меня неправильно: CrashPlan великолепен! Просто эта функция не работает на моей машине.
Кстати, эта страница прямо здесь была ОДНОЙ, которая дала мне первоначальное руководство, которое помогло мне найти основную причину моих проблем. Большое спасибо @Benjol и всем, кто ответил ранее! Я надеюсь, что мой ответ также поможет другим ...
источник
Вероятно, есть драйвер устройства, который поддерживает вашу систему. Один из способов проанализировать это - запустить проверку задержки DPC . Затем отключите один драйвер за раз и посмотрите, снизится ли загрузка DPC. (Process Explorer также работает.)
Вы можете отключить драйверы устройств в разделе «Управление компьютером» -> «Диспетчер устройств».
источник
Я чувствую, что должен добавить свой ответ здесь, потому что эту проблему трудно решить, и не всегда из-за плохих драйверов или конфликтов IRQ.
У меня была высокая задержка RPC, которая вызывала треск / треск на моей звуковой карте USB. Инструменты, описанные в принятом ответе, не помогли определить конкретный драйвер, который вызывал проблему. Задержка происходила во многих процессах: HAL, USBPORT.SYS и ядре Windows. Более глубокое изучение этих процессов не выявило очевидного виновника.
В моем случае оказалось, что проблема была более низкого уровня и характерна для материнских плат GigaByte с определенными наборами микросхем и версиями BIOS. Решение состояло в том, чтобы отключить Intel SpeedStep и все другие специальные функции материнской платы, которые регулировали скорость процессора и напряжение на лету. Как только эти опции были отключены, моя задержка RPC была немедленно исправлена.
источник
Я начал видеть эту ошибку после устранения ошибки IRQ с моим контроллером Ethernet nVidia 10/100/1000, который появился при обновлении моей видеокарты до GeForce GTX 550 Ti.
Кажется, после обновления до новых драйверов GeForce 295.73 и последующего разрешения конфликта прерываний я удалил, повредил или удалил существующие драйверы контроллера nForce SATA / RAID. Я не использую RAID, ошибка все еще сохраняется, и время от времени зависает 64-битная Vista Ultimate.
Попробовав все предложения по устранению неполадок, которые я нашел в Интернете, представилось простое решение ... Я перешел на nForce SATA / RAID контроллер 15.58, но оставил другие драйверы nForce в покое.
Это исправило это для меня, и теперь я решил все мои конфликты с драйверами. Надеюсь, это вам тоже поможет.
источник