Моя машина с Windows XP недавно начала зависать на мне при каждой нечетной перезагрузке после нескольких минут использования (разные программы / никакой дополнительной загрузки вообще не запускается).
Обновление: мне теперь удалось получить немного больше деталей с Process Explorer. Это двухъядерный процессор, и использование ядра на 100% только на одном ядре. В списке процессов показаны DPC - отложенные вызовы процедур на 50% (это 100% на одно ядро). Итак, вопрос сейчас: ** Что такое ЦОД и как их исправить?
Следующее обновление : 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 .
Ответы:
Вы можете узнать, какая процедура DPC вызывает зависание, с помощью такого инструмента, как LatencyMon ( http://www.resplendence.com/latencymon ). Просто найдите процедуру DPC, занимающую самое большое общее время.
источник