У меня есть Двухъядерный процессор, и один из этих двух постоянно в 100%. Взгляд в ProcessExplorer показывает мне, что это - Отложенные вызовы процедуры. Чтение по всей сети, кажется, дает мне тонны различных ответов.
Действительно ли возможно изложить несколько шагов к попытке сузить то, чем проблема могла бы быть в моем случае?
Обновление 1: FWIW, проблема сохраняется даже в Безопасном режиме.
Обновление 2: Я отключил все, что я мог от задней части ПК, и это купило меня на 40% более свободный процессор. Я также загрузил инструмент RATTV3, но по некоторым причинам на моей машине он не дает мне поломку драйвера драйвером. Существует хорошее описание и DPCLatencyChecker и RATTV3 здесь.
Обновление 3: LatencyMon (см. мой ответ ниже) говорит мне, что это nvstor32.sys
- который является драйвером SATA Nvidia - с временами приблизительно 5 300 мкс.
Обновление 4: график утолщает при обдумывании, попытаться ли загрузиться аварийного диска (чтобы видеть, являются ли это действительно драйверы и не аппаратная проблема), я заметил, что DVD/проигрыватель компакт-дисков не работал (т.е. Даже не открывал дверь, когда я нажимаю кнопку). Учитывая, что машина просто возвратилась из замены материнской платы, я фигурировал, возможно, что они забыли включать ее. Я открыл поле, все казалось хорошо, но я отключил и включился, оно въезжает задним ходом снова. На перезагрузке все было прекрасно - больше никакого DPC (самое высокое теперь 300µs)!
Обновление 5: В следующий день, проблема назад, проигрыватель компакт-дисков, не работающий снова, даже, курсор в текстовом поле пароля мигает в замедленном воспроизведении... Испытанное отключение всего, о чем я мог думать, и на второй перезагрузке, работало снова (в Update2). В следующий раз я собираюсь попытаться отключить проигрыватель компакт-дисков полностью...
Обновление 6: Просто замеченный журнал Системного события имеет nvstor32.sys
предоставление ошибки при высказывании Parity error detected in \Device\RaidPort0
, затем предупреждение об отправке переинициализации. Теперь просто должны удаться который RaidPort0
... (примечание, у меня нет установки RAID, это - просто стандарт трясины Acer). О, и мой Стой установка, по-видимому, была уничтожена, когда я сделал Системный Откат (или независимо от того, что это называют), потому что это не запустится (ошибка RPC), не удалит (setiface, ошибка произошла).
Обновление 7: Наконец получил время к перезагрузке с отключенным DVD. Больше никаких проблем DPC! (много отсутствий страницы, хотя, но это на потом). Следующий шаг: удайтесь, является ли это кабель или DVD-плеер.
Обновление 8: Одолженный кабель SATA, загруженный с ним, никакие проблемы. Работы CD/DVD плеера, никакие проблемы DPC с nvstor32.sys
, никакие процессоры не заблокированы. Счастливый конец... почти: я все еще получил проблемы со Стой, очевидные проблемы DPC с storport.sys
при запуске (возможно, нормальный для USB?), и много трудных отсутствий страницы. Но это будет предмет других вопросов.
Постскриптум: Я недавно начал иметь ту же проблему и использовать тот же метод, управляемый для разыскивания его к карте с интерфейсом USB (тот, который я использовал для ReadyBoost), быть застреленным.
Вот история того, как я нашел причину своей высокой задержки DPC.
Моя система испытывала щелчки и появляется во время воспроизведения звука. Я знал, что это означало, что что-то в привилегированном режиме было hogging ЦП. Моя первая мысль состояла в том, чтобы ввести по абсолютному адресу вокруг Проводника Процесса и видеть, выглядело ли что-нибудь неуместным. Единственной вещью, которая привлекла мое внимание, было чрезмерное количество времени, проведенное, выполняя Отложенные вызовы процедуры (DPCs):
Я знал, что DPCs являются кодом, выполняемым в драйвере; проблема состояла в том, чтобы выяснить который драйвер. Я обратился к Средству проверки Задержки DPC, которое показало мне, как плохо задержка была:
Средство проверки Задержки DPC предлагает пройти устройства в Диспетчере устройств и отключить несущественные аппаратные средства один за другим (например, сетевая плата, звуковая карта), надеясь изолировать ошибочный драйвер. (Если Вы отключаете устройство, и задержка DPC внезапно отбрасывает: Вы нашли своего преступника!)
К сожалению, после отключения всего я возможно мог (в то время как все еще способность использовать компьютер — не отключает Ваш жесткий диск, видеокарту, мышь, или концентратор USB, мышь включена!), задержка была все еще высока. Затем я обратился к Windows Performance Toolkit (часть Windows SDK), и превосходное сообщение в блоге Peter Weiland, "Измерив Время DPC". После установки Windows Performance Toolkit:
Я открыл поднятую командную строку и работал:
>xperf -on Latency
Примечание:
Latency
группа является предопределенным набором событий, которые могут быть прослежены от поставщика Kernel Group:>xperf -providers kg Base : PROC_THREAD+LOADER+DISK_IO+HARD_FAULTS+PROFILE+MEMINFO Diag : PROC_THREAD+LOADER+DISK_IO+HARD_FAULTS+DPC+INTERRUPT+CSWITCH+PERF_COUNTER+COMPACT_CSWITCH DiagEasy : PROC_THREAD+LOADER+DISK_IO+HARD_FAULTS+DPC+INTERRUPT+CSWITCH+PERF_COUNTER Latency : PROC_THREAD+LOADER+DISK_IO+HARD_FAULTS+DPC+INTERRUPT+CSWITCH+PROFILE ...
В этом случае
Latency
соответствует Флагам Ядра:
- Процесс PROC_THREAD и Поток создают/удаляют
- ЗАГРУЗЧИК Загрузка образа Привилегированного и непривилегированного режима / события Unload
- ПРЕДСТАВЬТЕ Демонстрационный профиль ЦП
- Контекстное переключение CSWITCH
- DPC события DPC
- События INTERRUPT Interrupt
- Диск DISK_IO ввод-вывод
- HARD_FAULTS трудные отсутствия страницы
После разрешения, которые работают в течение минуты, я остановил трассировку и имел его, сохраняют в файл:
C:\Users\Ian\Desktop\xperf -d thingy1.etl
И затем я просмотрел результаты трассировки с командой:
C:\Users\Ian\Desktop\xperf thingy1.etl
Это загружает графический Windows Performance Analyzer. Щелкая правой кнопкой по графику Использования ЦП DPC, я выбрал Сводную таблицу. Это показывает разбивку времени, проведенного в DPCs драйвером:
Сразу же я вижу один драйвер (tsvp.sys
) взятие в среднем выполнение 2,8 мс за DPC, которое является порядком величины медленнее, чем какой-либо другой драйвер:
Поиск с помощью Google tsvp.sys
дал мне ответ: CommView, который я недавно установил.
Вопрос теперь состоит в том, как отключить этот драйвер. Используя AutoRuns, я вижу, что он установлен как сервис драйвера:
Используя Диспетчер устройств, я могу отключить сервис, который размещает этот драйвер. Сначала необходимо Показать скрытые устройства, затем расшириться Non-Plug and Play Drivers
узел:
Наконец я мог остановить сервис драйвера, и я изменился, это - режим запуска от System
(значение драйвера является основной частью Windows, и Windows не может загрузиться без него), к Demand
(значение, я могу запустить драйвер, когда я хочу к):
Остановка сервиса драйвера сразу зафиксировала мою задержку DPC:
Я могу или не могу полностью удалить CommView, но на данный момент я решил Случай Высокой Задержки DPC.
Обновление: Запуск с Windows 8 Вы больше не можете видеть Драйверы Не-Plug and Play в Диспетчере устройств:
Отметьте Запуск с Windows 8 и Windows Server 2012, менеджер по Plug and Play больше не создает представления устройства для не-PnP (наследие) устройства. Таким образом нет таких устройств для просмотра в Диспетчере устройств. Для включения скрытых устройств в дисплей Диспетчера устройств нажмите View и выберите Шоу Скрытые Устройства.
Microsoft устранила функцию, и ничем замените ее. Хорошее задание.
В типичном гневе компьютерного фаната, некоторых бесполезных ответах:
К счастью, NirSoft создал замену. ServiWin позволяет Вам видеть, остановить и запустить все сервисы (даже те, Microsoft решила, что администраторам нужно разрешить видеть):
ОТЧЕТ О ВЫПОЛНЕНИИ РАБОТ
Лучшим инструментом, который я нашел до сих пор, является LatencyMon, который в основном делает все, что предшествование двум инструментам делают, не заставляя Вас думать. Страница загрузки просит, чтобы Вы зарегистрировались по электронной почте - но ничего не произошло для меня, когда я сделал это - но можно прокрутить к концу страницы для загрузки так или иначе.
Существует, вероятно, драйвер устройства, это заставляет Вашу систему напряженно трудиться. Один способ проанализировать это состоит в том, чтобы выполнить средство проверки задержки DPC. Затем отключите один драйвер за один раз и посмотрите, понижается ли загрузка DPC. (Проводник процесса также работает.)
Можно отключить драйверы устройств в Управлении компьютером-> Диспетчер устройств.