Mój komputer z systemem Windows XP ostatnio zaczął się częściowo zawieszać przy każdym dziwnym ponownym uruchomieniu po kilku minutach użytkowania (różne programy / brak dodatkowych uruchomień programu).
Aktualizacja: Teraz udało mi się uzyskać nieco więcej szczegółów dzięki Process Explorer. Jest to 2-rdzeniowy procesor, a 100% wykorzystanie jądra dotyczy tylko jednego rdzenia. Lista procesów pokazuje DPC - odroczone wywołania procedur na poziomie 50% (100% na jeden rdzeń). Pytanie brzmi teraz: ** Co to jest DPC i jak je naprawić?
Następna aktualizacja : OKIES ... używając tego i że udało mi się uruchomić xperf na moim Windows XP, a zrzuty próbne, które zrobiłem, są wyświetlane dobrze na moim laptopie Win7. Tak, potrzebujesz komputera z systemem Windows 7 / Vista, aby wyświetlić zrzuty wykonane w systemie Windows XP. Jednak mam teraz do czynienia z następującym problemem : mogę włączyć śledzenie xperf , xperf -on Latency
a problem pojawił się ponownie, gdy śledzenie xperf było włączone, ale gdy tylko mój DPC przejdzie w 100%, system Windows nie uruchamia żadnych nowych procesów (ani ich uruchomienie nigdy się nie kończy) (otwarte np. okno cmd pozostaje w porządku , ale każde exe, którego próbujesz, zadzwoni, po prostu zawiesza się (dir
działa dobrze, ponieważ to polecenie cmd) - mogę tylko założyć, że CreateProcess
zawiesza się z jakąś częścią jądra). Teraz brak możliwości uruchomienia nowego procesu oznacza, że nie mogę uruchomić xperf -d dumpfile.etl
, ponieważ po wpisaniu tego w oknie cmd po prostu się zawiesza .
Wygląda na to, że nie mam tu szczęścia. Wolę wyrzucić cały zestaw niż zacząć ręcznie wyłączać sterowniki ... :-)
Doceniamy wszelkie inne pomysły!
To znaczy, podczas gdy Windows pozostał teoretycznie responsywny (np. Kursor myszy poruszał się normalnie, a ja mogłem klikać, a kliknięcie zostało w końcu rozpoznane) na działania podjęte przez użytkownika reagowano dopiero po minutach (dosłownie).
Przykład: Naciśnięcie klawisza Num-lock na klawiaturze zwykle powoduje przełączenie diody Num-lock na klawiaturze. Dotyczy to również mojej częściowo zamrożonej maszyny, ale dopiero po minucie lub dwóch.
Pewnego razu udało mi się uruchomić Process Explorer i po kilku minutach wykres informacji o systemie wyraźnie wskazał 100% użycia procesora na czerwonej linii (tryb jądra), a zielona linia pozostała na zero. W tym stanie, mimo że wykres był nadal aktualizowany na ekranie, maszyny nie można już obsługiwać. (Cóż, chyba że zechcesz poczekać kilka minut po każdym kliknięciu).
Zastanawiam się, na czym polega problem, ponieważ od tygodni nie instalowałem niczego nowego na tym komputerze, na pewno nie wcześniej, niż zobaczyłem to zachowanie. (Ponowne uruchomienie pomaga czasem, czasem potrzebuję drugiego lub trzeciego ponownego uruchomienia, zanim komputer zacznie działać przez dłuższy czas.)
Teraz, w jaki sposób mogę się dowiedzieć, co jest rzeczywiście przyczyną nadmiernego użycia trybu jądra?
Uwaga: opublikowałem to również na forach sysinternals .
Odpowiedzi:
Możesz dowiedzieć się, która procedura DPC powoduje zawieszenie się, używając narzędzia takiego jak LatencyMon ( http://www.resplendence.com/latencymon ). Po prostu poszukaj procedury DPC, która zajmuje najdłuższy całkowity czas.
źródło