Jak analizować nadmierne użycie procesora w trybie jądra systemu Windows?


8

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 Latencya 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ę (dirdziała dobrze, ponieważ to polecenie cmd) - mogę tylko założyć, że CreateProcesszawiesza 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 .


Jednym ze sposobów byłoby wykorzystanie procesu eliminacji. W XP uruchom program MSCONFIG i przejdź do zakładki STARTUP i wyłącz wszystkie, a następnie uruchom ponownie i sprawdź, czy to rozwiąże. Jeśli tak nie jest, wypróbuj program taki jak AUTORUNS lub HijackThis i bardziej agresywnie eliminuj. Po przywróceniu operacji ponownie włączaj rzeczy pojedynczo. 90% bzdur, które działają podczas uruchamiania, nie jest niepotrzebne, pozostałe 10% to śmieciowe oprogramowanie :-)
Psycogeek,

@Psycogeek - mile widziane. Wolałbym tego nie robić, ponieważ zajęłoby mi to dni, których nie mam :-)
Martin

ahh to minuta, aby wyłączyć śmieci początkowe, nadszedł czas, aby wyłączyć sterowniki urządzeń :-) kiedy próbuję rozwikłać twój problem, używając całego zestawu wskazówek, w rzeczywistości brzmi bardziej jak niektóre rodzaje wirusów. ale może to być urządzenie, które nie odpowiada. Czy jakieś rzeczy utknęły na zewnątrz, które możesz tymczasowo usunąć? czy sprawdziłeś dyski, jak powiedzmy SMART test dysków. sprawdzić, czy otrzymujesz jakieś wskazówki?
Psycogeek,

Ok, więc teraz (dpc) Będę musiał sprawdzić rzeczy tutaj: superuser.com/q/202254/50211 i sprawdzić, czy mogę dojść do sedna tego.
Martin

Jaki był rezultat?
stej 22.04.16

Odpowiedzi:


2

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.


Najwyraźniej LatencyMon nie działa w systemie Windows XP. Pytanie dotyczy problemu z wydajnością w systemie Windows XP.
Edward

Nie byłam tego świadoma - dzięki. Moja sugestia jest jednak taka sama - zamiast tego użyj innego programu, który działa. Jeden przykład: Kontroler opóźnień DPC ( thesycon.de/deu/latency_check.shtml ).
Zero3

W rzeczywistości funkcje LatencyMon są znacznie lepsze / łatwiejsze w użyciu dla użytkowników końcowych niż Latency Checker. System analizy LatencyMon i dostarcza bardzo szczegółowych informacji, do poziomu, który sterownik zużywa najwięcej zasobów, co ma najgorszy wpływ na wydajność systemu. Inna strona, Latency Checker, po prostu wyświetla wykres, który daje tylko najbardziej podstawowe informacje. To twój system z opóźnieniem DPC, czy nie. Dalsze prace są twoje. Mam problem ze znalezieniem równego / podobnego narzędzia dla XP, które działa tak samo jak LatencyMon.
Edward,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.