DA0026: Przetwarzanie czasu CPU jądra nadmierne
Identyfikator reguły |
TODO |
Kategoria |
Użycie Profiling Tools |
Metoda profilowania |
Próbkowanie |
Wiadomość |
Zmierzona została stosunkowa duża ilość czasu procesora w trybie jądra.Rozważ zbadanie źródła z włączonym próbkowaniem SysCall. |
Typ reguły |
Informacje |
Podczas profilowania metodami próbkowania, pamięci .NET lub metody rywalizacji o zasoby, należy zebrać co najmniej 10 próbek, aby wywołać regułę.
Przyczyna
Stosunkowy czas procesora wykonywany w trybie jądra przekroczył ilość czasu spędzonego w trybie użytkownika.Rozważ ponowne profilowanie i próbkowanie kilku wywołań systemowych (syscalls), aby określić przyczynę wysokiego czasu wykonywania w trybie jądra.
Opis reguły
Stosunkowo wysoka ilość czasu wykonywania aplikacji w trybie jądra może uzasadniać dalsze dochodzenie.Aplikacja trybu użytkownika przechodzi do trybu jądra, aby wykonać operacje We/Wy, oczekiwać na synchronizację podstawowego wątku lub procesu albo wykonać wywołania systemowe.Możesz zbadać rodzaje wywołań systemowych, które wykonuje aplikacja oraz które funkcje są za nie odpowiedzialne, gdy wybierzesz opcję próbkowania stosów wywołań w oparciu o wywołania systemowe.
Jak naprawić naruszenia
Aby zbadać rodzaje wywołań systemowych, które wykonuje aplikacja, uruchom profil ponownie i wybierz opcję zbierania próbek w oparciu o wywołania systemowe.Aby uzyskać więcej informacji, zobacz Jak: Wybierz zdarzenia do pobierania próbek, jeśli używasz narzędzi profilowania wewnątrz IDE.Jeśli używasz narzędzi profilowania z poziomu wiersza polecenia, zobacz sekcję Sampling Interval Options w temacie odwołań dotyczących narzędzi wiersza polecenia VSPerfCmd Profiling Tools.