Czasami natrafiam na serwery (Windows 2003 i 2008) o wysokim% przerwania procesora. Czy istnieje sposób, aby zobaczyć, który program lub urządzenie powoduje przerwania?
źródło
Czasami natrafiam na serwery (Windows 2003 i 2008) o wysokim% przerwania procesora. Czy istnieje sposób, aby zobaczyć, który program lub urządzenie powoduje przerwania?
Po przejrzeniu dokumentacji (w oparciu o inne odpowiedzi tutaj), proces ten skończyłem przy użyciu:
Przechwyć dziennik ETW problemu
Najłatwiej to zrobić za pomocą narzędzia Windows Performance Recorder . Nie jestem pewien, kiedy to się pojawiło, ale wydaje się, że jest wbudowane w najnowsze wersje systemu Windows. Ustaw profil na CPU usage
.
lub za pomocą wiersza polecenia z podwyższonym poziomem uprawnień przejdź do folderu, który go zawiera, i użyj narzędzia wiersza polecenia xperf:
xperf -on base+interrupt+dpc
Pamiętaj, że musisz zamknąć Process Monitor lub dowolną inną aplikację korzystającą z ETW, w przeciwnym razie pojawi się następujący błąd: xperf: error: NT Kernel Logger: Cannot create a file when that file already exists. (0xb7).
Zatrzymaj śledzenie / zapisz dziennik
xperf -d interrupt_trace.etl
Otwórz ślad w Windows Performance Analyzer
(część pakietu Windows Performance Toolkit); niektóre miejsca wspominają o użyciu xperfview
zamiast tego.
Rozwiń Computation
-> CPU Usage (Sampled)
-> DPC and ISR Usage by Module, Stack
, kliknij prawym przyciskiem myszy iadd graph to analysis view
Wskazało to wprost na danego kierowcę. W tym przypadku HDAudBus.sys wykorzystuje stałe 10,82% mojego procesora przez przerwania, co dokładnie pokazał mi Process Explorer.
Jeśli potrafisz obsługiwać narzędzia systemowe niskiego poziomu;
Po nauczeniu się, jak korzystać z xperf; sprawdzić;
źródło
Oto najlepszy artykuł na ten temat z samouczkami, zrzutami ekranu i linkami do odpowiednich narzędzi:
http://www.msfn.org/board/topic/140263-how-to-get-the-cause-of-high-cpu-usage-by-dpc-interrupt/
źródło
Spójrz na Eksploratora procesów systemu Windows:
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx
To powinno pomóc.
źródło
Dwa świetne narzędzia to LatencyMon i DPC Latency Checker .
źródło