8

Моя машина с Windows XP недавно начала зависать на мне при каждой нечетной перезагрузке после нескольких минут использования (разные программы / никакой дополнительной загрузки вообще не запускается).


Обновление: мне теперь удалось получить немного больше деталей с Process Explorer. Это двухъядерный процессор, и использование ядра на 100% только на одном ядре. В списке процессов показаны DPC - отложенные вызовы процедур на 50% (это 100% на одно ядро). Итак, вопрос сейчас: ** Что такое DPC и как я могу их исправить?


Следующее обновление: OKIES ... с помощью этого и того, что я смог запустить xperf на моей Windows XP, и примеры дампов, которые я взял, прекрасно отображались на моем ноутбуке с Win7.Да, вам нужен компьютер с Win7/Vista для просмотра дампов, сделанных в Windows XP. Однако теперь я сталкиваюсь со следующей проблемой: я могу включить трассировку xperf, xperf -on Latency и проблема теперь повторяется, когда трассировка xperf была включена, но как только мой DPC достигает 100%, Windows не запускает новую процессы (или их запуск никогда не завершается) (например, открытое окно cmd остается отзывчивым, но каждый исполняемый файл, вызываемый вами, просто зависает (dir работает просто отлично, потому что команда cmd) - я могу только предположить, что CreateProcess зависает с некоторыми часть ядра). Теперь неспособность запустить какой-либо новый процесс означает, что я не могу запустить xperf -d dumpfile.etl , потому что, когда я вхожу в окно cmd, он просто зависает.

Кажется, мне здесь не повезло. Я бы лучше выкинул всю установку, чем начал вручную отключать драйверы ... :-)

Любые другие идеи приветствуются!


То есть, хотя теоретически Windows оставалась отзывчивой (например, курсор мыши двигался нормально, и я мог щелкнуть, и щелчок был в итоге распознан), на действия, предпринятые пользователем, реагировали только через несколько минут (буквально).

Пример. Нажатие клавиши Num-Lock на клавиатуре обычно приводит к переключению индикатора Num-Lock на клавиатуре. Это также относится и к моей полумерзшей машине, но только через минуту или две.

Однажды мне удалось запустить Process Explorer, и через несколько минут график системной информации четко показал 100% загрузку ЦП на красной линии (режим ядра), а зеленая линия осталась на нуле. В этом состоянии, хотя график все еще обновлялся на экране, машиной больше нельзя было управлять. (Ну, если вы не готовы подождать несколько минут после каждого клика.)

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

Теперь, как я могу узнать, что на самом деле вызывает чрезмерное использование режима ядра?


Примечание: также опубликовано это на форумах sysinternals.

1 ответ1

2

Вы можете узнать, какая процедура DPC вызывает зависание, с помощью такого инструмента, как LatencyMon (http://www.resplendence.com/latencymon). Просто посмотрите на процедуру DPC, занимающую наибольшее время.

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