Jak mogę rozwiązać problemy z wysokim czasem jądra?

Odpowiedzi:

13

Ostatecznym narzędziem do dowiedzenia się dokładnie, co wykorzystuje czas jądra jest kernrate.exe. Pochodzi z Windows SDK / WDK Visual Studio itp.

Również Xperf może wykonywać te same odpytywanie / śledzenie jądra ... i prawdopodobnie jest o wiele łatwiejszy w użyciu. Kernrate był rodzajem bestii.

Ryan Ries
źródło
11

Jest to prawdopodobnie łatwiejsze niż myślisz. Jeśli masz spójne, wysokie użycie systemu, Process Explorer udostępnia zakładkę Wątki, z której możesz korzystać w procesie systemowym (identyfikator procesu: 4). Powinien zostać wyświetlony moduł i funkcja naruszające prawo.

wprowadź opis zdjęcia tutaj

Jeśli potrzebujesz formalnego narzędzia do gromadzenia danych empirycznych w celu analizy problemu, możesz skorzystać z narzędzia Windows Performance Recorder / Windows Performance Analyzer, będącego częścią pakietu Windows Performance Toolkit.

https://blogs.technet.com/b/yongrhee/archive/2012/11/23/installing-the-windows-performance-toolkit-v5-0-wprui-wpr-xperf.aspx

https://blogs.technet.com/b/yongrhee/archive/2012/11/23/wpr-xperf-capture-high-cpu-disk-io-file-registry-networking-private-bytes-virtual-bytes- paged-pool-nonpaged-pool-and-or-application-slowness.aspx

Greg Askew
źródło
2
Może to być łatwe zwycięstwo, ale często prawdziwy winowajca ukrywa się za ogólnymi wątkami roboczymi, w którym to przypadku niewiele to powie. Nawet Russinovich ucieka się do Kernrate w swoim blogu tutaj: blogs.technet.com/b/markrussinovich/archive/2008/04/07/…
Ryan Ries
6

Sam miałem problem z wysokimi czasami jądra zużywającymi 50% procesora, podczas gdy pozostałe procesy stanowiły pozostałe 40%. Przyczyną tego problemu było nieprawidłowe wyłączenie i odinstalowanie Trend AV.

Mimo że usługi zostały zatrzymane, a skanowanie w czasie rzeczywistym wyłączone, wydawało się, że włączone są minimalne filtry jądra. Wydedukowałem, że zajmują czas jądra po prawidłowym odinstalowaniu oprogramowania i zauważyłem, że czas jądra skrócił się do 1/10 poprzedniego obciążenia.

Aby wyświetlić listę filtrów w systemie, wpisz

C:\Users\TEMP>fltmc filters
Filter Name                     Num Instances    Altitude    Frame
------------------------------  -------------  ------------  -----
TmPreFilter                             3       328500         0
luafv                                   1       135000         0

Microsoft ma listę filtrów innych firm dostępnych tutaj . Zgodnie z tym arkuszem kalkulacyjnym TmPreFilter to Trend Micro, skaner AV.

goodguys_activate
źródło
5
Awww Jestem naprawdę rozczarowany tą odpowiedzią. Po rozbudowie spodziewałem się, że pięknie spreparowany sposób na rozwiązywanie problemów z wysokim czasem jądra. Zamiast tego pomijasz wszystkie interesujące fragmenty (jak) i przedstawiasz nam ten, który zrobiłeś wcześniej :( Jakie kroki
podjąłeś,
@Iain Haha, dzięki. Moim celem tutaj było udostępnienie informacji, które znałem w hybrydowym formacie blog-wiki SE (nie mam bloga lub nie znam odpowiedniej wiki). Naprawdę nie wiem jak rozwiązać czas jądra, ale odkryłem coś, co zadziałało i chciałem się nim podzielić. Mogę zdecydowanie odpowiedzieć na pytania dotyczące poczty e-mail, bezpieczeństwa i niektórych prac rozwojowych. To częściowa odpowiedź
goodguys_activate
3
Odpowiedź Geat, nie wiedziałem o fltmc.
jftuga
-1

Miej oko, używając Process Monitor i DiskMon (Microsoft SysInternals), aby zobaczyć, co robi maszyna. Jednym z głównych sprawców, oprócz podejrzanych sterowników urządzeń, jest dobre stare stronicowanie.

Simon Catlin
źródło