Как * диагностировать * частые зависания проводника Windows

11

На моем компьютере с Windows XP очень часто, когда проводник Windows (включая панель задач) часто не отвечает в течение нескольких секунд (а иногда и до минуты) каждый раз, когда я просматриваю файловую систему (или использую меню «Пуск»). Это может немного расстраивать ....

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

Я не собираюсь предлагать список вещей, которые я пробовал, поскольку я прошел через многие из них (например, дефрагментация, сетевые диски и т. Д.), Но, похоже, ничто не решает проблему. Что мне действительно нужно, так это способ диагностики (или отладки) того, что происходит, чтобы он не превратился в игру в догадки «попробуй эти 100 разных вещей и посмотри, что произойдет». Но может быть, это невозможно?

UPDATE : «Монитор производительности» окно Perfmon кажется самым лучшим подход до сих пор для диагностики таких проблем (спасибо JP для указателя) - но я до сих пор пытаюсь использовать его в успешном пути , главным образом , из - за подавляющее число вариантов , которые он предоставляет. Я сделал некоторые образованные догадок на вещи , чтобы контролировать , но до сих пор лучшая информация , которую я могу почерпнуть, что следующие процессы имеют необычные CPU / ошибки во время замораживания IO Data / Страница: cssrs, lsassи explorer. Так как это очень стандартные процессы Windows, я не уверен, если это поможет сузить причину ..... Еще какой-нибудь совет?

luapyad
источник
Попробуйте мой ответ здесь для устранения неисправностей.
Тамара Вийсман

Ответы:

7

Просто используйте ProcMon (Process Monitor) для изучения событий. Фильтр по explorer.exe, а затем по категории сети. Цитата Марка Руссиновича:

При устранении неполадок зависания с Process Monitor вы должны сначала увидеть, есть ли какие-либо пробелы в метках времени работы, которые соответствуют продолжительности зависания. Вы можете искать длительные операции, добавив столбец «Длительность» на дисплей и затем отфильтровывая операции, которые обычно не выполняются сразу, например уведомления об изменении каталога. Это может быть полезно, когда вы не видите значительного временного промежутка между операциями, потому что процесс имеет несколько потоков, некоторые из которых продолжают работать, в то время как тот, который вызывает зависание, не работает.

Hello71
источник
6

Я думаю, что ваша лучшая методология - взять такой инструмент, как Process Explorer, и попытаться связать зависания с определенным процессом. То есть, какой процесс происходит на процессоре, когда возникает проблема? Вам следует начать с очистки как можно большего количества несущественных процессов и обеспечить работоспособность вашей системы (возможно, даже в безопасном режиме, без сетевых или внешних накопителей) и посмотреть, по-прежнему ли возникает проблема. Если этого не произойдет, то вы можете добавить обратно процессы по одному и посмотреть, сможете ли вы изолировать виновника. Если это происходит в безопасном / экономном режиме, у вас есть более глубокая проблема, и вы можете начать с того, что на самом деле работает в этом режиме.

За комментарий: Вы можете использовать perfmon и добавить использование процессора и сети, чтобы отслеживать и иметь журнал perfmon со временем. Таким образом, когда вы остановитесь, вы можете вернуться назад и просмотреть журналы perfmon в то время и посмотреть, сможете ли вы сопоставить что-нибудь.

JP Alioto
источник
Спасибо - я в значительной степени попробовал это с procxp (включая удаление процессов - но проблема настолько непостоянна, что никогда не ясно, был ли удален критический процесс). Проблема заключается в том, что из визуального сканирования вывода procxp не ясно, что какой-либо процесс делает что-то необычное (например, процессор выглядит «нормально»). Интересно, есть ли более умный способ, чтобы procxp можно было использовать для диагностики зависаний при низкой загрузке процессора (например, сетевых процессов)?
Луапяд
Использование perfmon звучит как хорошая идея - сейчас проверяю.
Луапяд
0

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

Также проверьте наличие ошибок на диске, зайдите на http://smartmontools.sourceforge.net/, чтобы узнать, есть ли проблемы с самим диском.

Крис
источник