Як я аналізую надмірне використання процесора в режимі ядра Windows?


8

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


Оновлення. Зараз мені вдалося детальніше ознайомитись із Process Explorer. Це двоядерний процесор, і 100% використання ядра лише на одному ядрі. У списку процесів відображаються DPC - відкладені виклики процедури на рівні 50% (це 100% на одне ядро). Отже, питання тепер: ** Що таке DPC і як їх виправити ??


Наступне оновлення : ОКЕЙ ... за допомогою цього і того, що мені вдалося запустити xperf на моєму Windows XP, а зразки звалищ я добре показав на своєму ноутбуці Win7. Так, для перегляду сміттєвих звантажень на Windows XP вам потрібен комп'ютер Win7 / Vista. Однак зараз я зіткнувся з наступною проблемою, я можу включити 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 .


Одним із способів було б використання процесу усунення. У XP запустіть програму MSCONFIG, перейдіть на вкладку STARTUP і відключіть все, після чого перезавантажте і подивіться, чи це виправить. Якщо це не так, спробуйте програму типу AUTORUNS або HijackThis і будьте більш агресивні щодо усунення. Після повернення операцій повторно вмикайте речі по черзі. 90% лайна, що працює при запуску, не є необхідним, інші 10% - це junkware :-)
Psycogeek

@Psycogeek - високо оцінено. Я б краще не робив цього, оскільки це зайняло б у мене дні, в яких я не маю :-)
Мартін

ах його хвилини, щоб відключити стартовий сміття, це дні, щоб вимкнути драйвери пристрою :-), коли я намагаюся відключити вашу проблему, використовуючи цілий набір підказок, це насправді звучить більше, як деякі речі вірусу. але легко може бути якийсь пристрій, який не відповідає. Чи є речі, що застрягли зовні, ви можете тимчасово видалити? Ви запустили перевірку дисків, як скажімо, SMART тест накопичувачів. щоб побачити, чи отримуєте ви від цього підказки?
Psycogeek

Гаразд, зараз (dpc). Мені доведеться перевірити речі тут: superuser.com/q/202254/50211 і побачити, чи зможу я досягти цього.
Мартін

Яким був результат?
stej

Відповіді:


2

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


Зрозуміло, що LatencyMon не працює в Windows XP. І питання стосується проблеми продуктивності в системі Windows XP.
Едвард

Я цього не знав - дякую. Моя пропозиція все ще однакова - просто використовуйте іншу програму, а не. Один приклад: перевірка затримки DPC ( thesycon.de/deu/latency_check.shtml ).
Zero3

Власне, функції LatencyMon набагато кращі / простіші у використанні для кінцевих користувачів, ніж Latency Checker. Система аналізу LatencyMon і надає дуже детальну інформацію, до рівня, який драйвер споживає найбільше ресурсів, який - найгірший ефект для продуктивності системи. Інша сторона, затримка перевірки просто відображає графік, який дає вам лише основну інформацію. Це ваша система поза затримкою DPC чи ні. Подальші роботи - все по-своєму. Мені виникають проблеми з пошуком рівного / подібного інструменту для XP, який працює так само, як LatencyMon.
Едвард
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.