Jak * diagnozować * Eksploratora Windows często zawiesza się

11

Bardzo często na moim komputerze z systemem Windows XP Eksplorator Windows (w tym pasek zadań) często nie reaguje przez kilka sekund (a czasem nawet minutę) za każdym razem, gdy przeglądam system plików (lub korzystam z menu Start). Może to być trochę frustrujące ...

Podejrzewam, że może to wynikać z jakiegoś problemu z dostępem do sieci, ale nie jestem tego pewien lub jakie aplikacje / usługi mogą przyczynić się do problemu. Czy istnieje sposób, aby dowiedzieć się dokładnie, co robi Windows (lub próbuje zrobić) podczas tych zawieszeń, aby trochę zawęzić wyszukiwanie?

Nie szukam listy rzeczy do wypróbowania, ponieważ przeszedłem przez wiele z nich (np. Defragmentacja, dyski sieciowe itp.) - ale nic nie wydaje się rozwiązać problemu. To, co naprawdę mnie interesuje, to sposób na zdiagnozowanie (lub debugowanie) tego, co się dzieje, więc nie jest to tylko zgadywanie: „spróbuj tych 100 różnych rzeczy i zobacz, co się stanie”. Ale może to nie jest możliwe?

AKTUALIZACJA : perfmon „Monitora wydajności” systemu Windows wydaje się jak dotąd najlepszym podejściem do diagnozowania takich problemów (dzięki JP za wskaźnik) - ale wciąż mam problemy z używaniem go z powodzeniem, głównie z powodu przeważającej liczby dostępnych opcji. Zrobiłem kilka wykształconych domysły na rzeczy do monitorowania, ale do tej pory najlepsze informacje mogę zebrać to, że następujące procesy mają niezwykłe CPU / usterek danych IO / PAGE podczas zamrożenia: cssrs, lsassi explorer. Ponieważ są to bardzo standardowe procesy systemu Windows, nie jestem pewien, czy to pomogło znacznie zawęzić przyczynę ..... Jakieś dalsze porady?

luapyad
źródło
Wypróbuj moją odpowiedź tutaj, aby rozwiązać problemy z zawieszaniem się.
Tamara Wijsman,

Odpowiedzi:

7

Wystarczy użyć ProcMon (Monitor procesu), aby zbadać zdarzenia. Filtruj według explorer.exe, a następnie kategorii sieci. Cytat Marka Russinowicza:

Podczas rozwiązywania problemów z zawieszeniem za pomocą Monitora procesów, powinieneś najpierw sprawdzić, czy są jakieś luki w znacznikach czasu pracy, które pasują do czasu zawieszenia. Możesz szukać długich operacji, dodając kolumnę Czas trwania do wyświetlacza, a następnie upewniając się, że odfiltrowano operacje, które zwykle nie są natychmiast kończone, takie jak powiadomienia o zmianie katalogu. Może to być przydatne, gdy nie widać znaczącej przerwy między operacjami, ponieważ proces ma wiele wątków, z których niektóre nadal działają, podczas gdy ten, który powoduje zawieszenie, jest uśpiony.

Cześć71
źródło
6

Myślę, że twoją najlepszą metodologią jest użycie narzędzia takiego jak Process Explorer i próba powiązania zawieszeń z określonym procesem. To znaczy, jaki proces odbywa się na procesorze, gdy wystąpi problem? Powinieneś zacząć od wyczyszczenia jak największej liczby nieistotnych procesów, a system powinien być ubogi (być może nawet w trybie awaryjnym, bez dysków sieciowych lub zewnętrznych) i sprawdzić, czy problem nadal występuje. Jeśli tak się nie stanie, możesz dodawać procesy z powrotem pojedynczo i sprawdzać, czy możesz izolować winowajcę. Jeśli dzieje się to w trybie bezpiecznym / ubogim, masz głębszy problem i możesz zacząć od rzeczy, które faktycznie działają w tym trybie.

Komentarz: Możesz użyć perfmon i dodać użycie procesora i sieci do śledzenia i logować perfmon w czasie. W ten sposób, gdy masz zamrożenie, możesz wrócić i przejrzeć dzienniki perfmon w tym czasie i sprawdzić, czy możesz coś skorelować.

JP Alioto
źródło
Dzięki - prawie próbowałem tego z procexp (w tym usuwanie procesów - ale problem jest tak nieregularny, że nigdy nie wiadomo, czy proces krytyczny został usunięty). Problem polega na tym, że po wizualnym skanowaniu danych wyjściowych procexp nie jest jasne, że jakikolwiek proces robi coś niezwykłego (np. Procesor wygląda na „normalny”). Zastanawiam się, czy istnieje bardziej sprytny sposób, w jaki procexp może być użyty do diagnozowania zawieszeń przy niskim CPU (np. Procesy sieciowe)?
luapyad
Korzystanie z perfmon brzmi jak dobry pomysł - sprawdzam to teraz.
luapyad
0

Czy korzystasz z antywirusa? Uważam, że na przykład McaFee spowoduje, że maszyna będzie wykazywać dokładnie te objawy - zamrażanie, irytujące przerwy, ale niewielkie lub żadne użycie procesora. Możesz spróbować zatrzymać proces, ale może to spowodować zawieszenie się całego systemu, jeśli zawiesisz niewłaściwą czynność.

Sprawdź także, czy nie ma błędów dysku, spójrz na http://smartmontools.sourceforge.net/, aby sprawdzić, czy występują problemy z samym dyskiem.

Chris
źródło