Widok wykorzystania

Widok Wykorzystanie zawiera informacje o procesorze CPU, procesorze GPU i innych zasobach systemowych używanych przez bieżący proces (wybierz pozycję Analizuj>wizualizator współbieżności, aby uruchomić wizualizator współbieżności). Przedstawia średnie wykorzystanie rdzeni przez przeanalizowany proces, proces bezczynności, proces systemowy i inne procesy uruchomione w systemie w czasie. Nie pokazuje, który konkretny rdzeń jest aktywny w danym momencie. Jeśli na przykład dwa rdzenie są uruchomione na poziomie 50 procent pojemności dla danego okresu czasu, ten widok pokazuje jeden rdzeń logiczny, który jest używany. Widok jest generowany przez podzielenie czasu profilowania na segmenty czasu krótkiego. Dla każdego segmentu wykres wykreśli średnią liczbę wątków procesu wykonywanych na rdzeniach logicznych w tym interwale.

CPU Utilization View

Wykres przedstawia czas (na osi x) i średnie rdzenie logiczne, które są używane przez proces docelowy, proces bezczynności i proces systemowy. (Proces bezczynności pokazuje bezczynne rdzenie. Proces systemowy to proces w systemie Windows, który może wykonywać pracę w imieniu innych procesów). Pozostałe procesy, które są uruchomione na koncie systemowym na potrzeby wykorzystania pozostałych rdzeni.

Liczba rdzeni logicznych jest wyświetlana na osi y. System Windows traktuje jednoczesne obsługę wielowątków w sprzęcie jako rdzenie logiczne (na przykład Hyper-Threading). W związku z tym system, który ma czterordzeniowy procesor obsługujący dwa wątki sprzętowe na rdzeń, wydaje się być ośmiordzeniowym systemem. Dotyczy to również widoku Rdzenie. Aby uzyskać więcej informacji, zobacz Widok rdzeni.

Wykres aktywność procesora GPU przedstawia liczbę aparatów DirectX używanych w czasie. Aparat jest używany, jeśli przetwarza pakiet DMA. Wykres nie pokazuje określonego aparatu DirectX (na przykład aparatu 3D, aparatu wideo i innych).

Purpose

Zalecamy widok wykorzystania jako punkt wyjścia do badania wydajności podczas korzystania z wizualizatora współbieżności. Ponieważ zawiera ona omówienie stopnia współbieżności w aplikacji w czasie, można jej użyć do szybkiego identyfikowania obszarów wymagających dostrajania wydajności lub równoległości.

Jeśli interesuje Cię dostrajanie wydajności, możesz spróbować zidentyfikować zachowanie, które nie spełnia Twoich oczekiwań. Możesz również szukać istnienia i przyczyny regionów, które mają niskie wykorzystanie rdzeni logicznych procesora CPU. Możesz również szukać wzorców użycia między procesorem CPU i procesorem GPU.

Jeśli interesuje Cię równoległość aplikacji, prawdopodobnie szukasz obszarów związanych z procesorem CPU lub obszarów, w których nie używasz procesora CPU.

Obszary związane z procesorem CPU są zielone. Wykres przedstawia jeden rdzeń używany, jeśli aplikacja jest szeregowa.

Obszary, w których nie używasz procesora CPU, są szare. Mogą one reprezentować punkty, w których aplikacja jest bezczynna lub blokuje we/wy, które zapewniają możliwości równoległości przez nakładanie się na inne prace związane z procesorem CPU.

Gdy znajdziesz interesujące cię zachowanie, możesz powiększyć ten region, wybierając go. Po powiększeniu można przełączyć się do widoku wątków lub widoku rdzeni, aby uzyskać bardziej szczegółową analizę.

Jeśli używasz procesora GPU przy użyciu języka C++ AMP lub DirectX, możesz być zainteresowany zidentyfikowaniem liczby używanych aparatów gpu lub obszarów, w których procesor GPU jest nieoczekiwanie bezczynny.

Powiększ

Aby powiększyć wykres wykorzystania procesora CPU lub wykres działania procesora GPU, wybierz sekcję lub użyj narzędzia suwaka powiększenia nad wykresem. Ustawienie powiększenia jest zachowywane podczas przełączania się do innych widoków. Aby ponownie powiększyć, użyj narzędzia suwaka powiększenia. Można również powiększać za pomocą przewijania Ctrl+.

Wykres wykorzystania procesora CPU

Wykres Wykorzystanie procesora CPU przedstawia poziom wykorzystania w aplikacji w czasie. Oś X reprezentuje czas trwania śledzenia, a oś y reprezentuje liczbę rdzeni logicznych w systemie. Wykres nie pokazuje, który konkretny rdzeń jest aktywny w danym momencie. Jeśli na przykład dwa rdzenie są uruchomione na poziomie 50 procent pojemności dla danego okresu czasu, ten widok pokazuje jeden rdzeń logiczny, który jest używany.

Kolory grafu wykorzystania procesora CPU

  • Zielony wskazuje wykorzystanie rdzeni logicznych w systemie przez bieżący proces.

  • Jasnoszary wskazuje wykorzystanie rdzeni logicznych przez inne procesy w systemie. Wysoki procent jasnoszary na grafie procesora CPU wskazuje, że system jest mocno obciążony przez inne procesy i że proces prawdopodobnie zostanie wywłaszczone przez niego. Aby zmniejszyć zużycie rdzeni logicznych przez inne procesy, zmniejsz ich liczbę uruchomionych w systemie.

  • Ciemnoszary wskazuje zużycie rdzeni logicznych przez proces systemowy. Nie można tego bezpośrednio kontrolować, ale warto wiedzieć, kiedy występuje, ponieważ może to mieć wpływ na dostępność rdzeni logicznych dla procesu.

  • Biały wskazuje dostępność nieużywanych rdzeni logicznych w systemie. Te rdzenie są dostępne dla twojego procesu, jeśli możesz znaleźć więcej możliwości równoległości.

Średnie wykorzystanie procesora CPU

Przedstawia średnie wykorzystanie profilowanych procesów dla rdzeni logicznych systemu na czas trwania procesu. Wykres nie pokazuje, który konkretny rdzeń jest aktywny w danym momencie. Jeśli na przykład dwa rdzenie działają na poziomie 50% pojemności w danym okresie, ten widok pokaże jeden używany rdzeń logiczny.

Kontrolka powiększenia (widok wykorzystania)

Kontrolka powiększenia ułatwia powiększanie wykresu wykorzystania procesora CPU w celu skoncentrowania się na obszarach szczególnie interesujących. Ta kontrolka powiększa się w środku widoku. Dlatego przed powiększeniem należy wyśrodkować obszar zainteresowania.

Możesz przeciągnąć wskaźnik myszy na wykresie wykorzystania procesora CPU lub wykresie aktywności procesora GPU, aby utworzyć wyróżniony obszar. Po zwolnieniu przycisku myszy widok powiększa wybrany zakres.

Wykres aktywności procesora GPU

Wykres działania procesora GPU w wizualizatorze współbieżności wyświetla poziom aktywności DirectX w systemie mierzony przez liczbę aparatów DirectX używanych w czasie. Wykres nie pokazuje, które konkretne aparaty zostały użyte. Aparat jest uważany za używany, jeśli przetwarza pracę z procesorem GPU.

Kolory grafu działania procesora GPU

Zielony wskazuje zużycie aparatów DirectX przez bieżący proces.

Jasnoszary wskazuje zużycie aparatów DirectX przez inne procesy w systemie. Aby zmniejszyć zużycie silników DirectX przez inne procesy, zmniejsz liczbę innych procesów uruchomionych w systemie.

Biały wskazuje dostępność nieużywanych aparatów DirectX w systemie. Te aparaty są dostępne dla twojego procesu, jeśli znajdziesz więcej możliwości wykorzystania ich. Niektóre aparaty mogą być używane tylko dla określonych rodzajów zadań.

Aktywność GPU (Stronicowanie)

Segmenty działania procesora GPU (stronicowanie) na karcie Wątki reprezentują czasy przetwarzania żądań stronicowania procesora GPU. Długość segmentu reprezentuje czas trwania, przez który procesor GPU przetwarzał pakiet stronicowania bezpośredniego dostępu do pamięci (DMA). Zazwyczaj pakiety stronicowania są skojarzone z transferem pamięci między procesorem CPU i procesorem GPU.

Po wybraniu segmentu stronicowania procesora GPU raport na bieżącej karcie wyświetla informacje o przetworzonym pakiecie DMA. Obejmuje to czas oczekiwania w kolejce sprzętowej skojarzonej z aparatem DirectX, procesem, który przesłał pakiet DMA, oraz czas wymagany do przetworzenia pakietu.

Aktywności procesora GPU (ten proces)

Segmenty Działania procesora GPU (ten proces) w widoku Wątki w wizualizatorze współbieżności reprezentują czasy przetwarzania żądań procesora GPU w imieniu bieżącego procesu. Te żądania są wysyłane do procesora GPU jako pakiety bezpośredniego dostępu do pamięci (DMA). Długość segmentu reprezentuje czas przetwarzania pakietu DMA przez procesor GPU w imieniu bieżącego procesu.

Po wybraniu segmentu aktywności procesora GPU raport na bieżącej karcie wyświetla informacje o przetworzonym pakiecie DMA. Te informacje obejmują czas oczekiwania pakietu w kolejce sprzętowej skojarzonej z aparatem DirectX, proces, który przesłał pakiet, oraz czas wymagany do przetworzenia pakietu. Proces inny niż bieżący proces może fizycznie przesłać pakiet DMA do procesora GPU. Wizualizator współbieżności może wykryć, kiedy inny proces przesłał pracę do procesora GPU w imieniu bieżącego procesu.

Aktywność procesora GPU (inne procesy)

Segmenty Działania procesora GPU (inne procesy) w widoku Wątki wizualizatora współbieżności reprezentują czasy przetwarzania żądań procesora GPU w imieniu innych procesów w systemie. Te żądania są wysyłane przez procesor GPU jako pakiety bezpośredniego dostępu do pamięci (DMA). Długość segmentu reprezentuje czas trwania przetwarzania pakietu przez procesor GPU.

Po wybraniu tego rodzaju segmentu raport na karcie Bieżący wyświetla informacje o przetworzonym pakiecie. Informacje obejmują czas oczekiwania pakietu w kolejce sprzętowej skojarzonej z aparatem DirectX, proces, który przesłał pakiet, oraz czas wymagany do przetworzenia pakietu.