Compartilhar via


Exibição de utilização

A exibição Utilização exibe informações sobre a CPU, GPU e outros recursos do sistema usados pelo processo atual (escolha Analisar>Visualizador Simultâneo para iniciar a visualização de simultaneidade). Ele mostra a utilização média do núcleo pelo processo analisado, o processo ocioso, o processo do sistema e outros processos que estão em execução no sistema ao longo do tempo. Ele não mostra qual núcleo específico está ativo em um determinado momento. Por exemplo, se dois núcleos estiverem sendo executados com 50% de capacidade para um determinado período de tempo, essa exibição mostrará um núcleo lógico sendo utilizado. A exibição é gerada dividindo o tempo de perfilamento em pequenos segmentos de tempo. Para cada segmento, o grafo plota o número médio de threads de processo que estão sendo executados em núcleos lógicos durante esse intervalo.

Exibição de Utilização da CPU

O grafo mostra o tempo (no eixo x) e os núcleos lógicos médios utilizados pelo processo de destino, pelo processo ocioso e pelo processo do sistema. (O processo ocioso mostra núcleos ociosos. O processo do sistema é um processo no Windows que pode executar o trabalho em nome de outros processos.) Os processos restantes que estão em execução no sistema utilizam qualquer núcleo restante.

O número de núcleos lógicos é mostrado no eixo y. O Windows trata o suporte a múltiplos threads simultâneos em hardware como sendo núcleos lógicos (por exemplo, Hyper-Threading). Portanto, um sistema que tem um processador quad-core que dá suporte a dois threads de hardware por núcleo aparece como um sistema de oito núcleos lógicos. Isso também se aplica à exibição Núcleos. Para obter mais informações, consulte a Visualização de Cores.

O gráfico de atividades de GPU mostra o número de mecanismos DirectX em uso ao longo do tempo. Um motor está em uso se estiver processando um pacote DMA. O gráfico não mostra um mecanismo DirectX específico (por exemplo, Mecanismo 3D, Mecanismo de Vídeo e os outros).

Propósito

Recomendamos a Visualização de Utilização como ponto de partida para investigações de desempenho quando você usa o Concurrency Visualizer. Como ele fornece uma visão geral do grau de simultaneidade em um aplicativo ao longo do tempo, você pode usá-lo para identificar rapidamente áreas que exigem ajuste de desempenho ou paralelização.

Se você estiver interessado em ajuste de desempenho, talvez esteja tentando identificar um comportamento que não atenda às suas expectativas. Você também pode estar procurando a existência e a causa de regiões que têm baixa utilização de núcleos lógicos de CPU. Você também pode estar procurando padrões de uso entre a CPU e a GPU.

Se você estiver interessado em paralelizar um aplicativo, provavelmente está procurando áreas de execução associadas à CPU ou áreas em que não esteja utilizando a CPU.

As áreas limitadas pela CPU são verdes. O grafo mostra um núcleo sendo utilizado se o aplicativo for serial.

As áreas em que você não está utilizando a CPU são cinzas. Isso pode representar pontos nos quais o aplicativo está ocioso ou executando I/O de bloqueio que oferecem oportunidades de paralelismo ao se sobrepor ao trabalho vinculado à CPU.

Ao encontrar um comportamento de interesse, você pode ampliar essa região selecionando-a. Depois de ampliar, você pode alternar para a Visão de Threads ou a Visão de Núcleos para uma análise mais detalhada.

Se você estiver usando a GPU usando o C++ AMP ou o DirectX, talvez esteja interessado em identificar o número de mecanismos de GPU em uso ou áreas em que a GPU está inesperadamente ociosa.

Zoom

Para ampliar o grafo de Utilização da CPU ou o grafo atividade de GPU, selecione uma seção ou use a ferramenta de controle deslizante de zoom acima do grafo. A configuração de zoom persiste à medida que você alterna para outras exibições. Para ampliar novamente, use a ferramenta de controle deslizante de zoom. Você também pode ampliar usando Ctrl+rolagem.

Grafo de utilização da CPU

O grafo utilização da CPU mostra o nível de utilização em um aplicativo ao longo do tempo. O eixo X representa a duração do rastreamento e o eixo y representa o número de núcleos lógicos no sistema. O grafo não mostra qual núcleo específico está ativo em um determinado momento. Por exemplo, se dois núcleos estiverem sendo executados com 50% de capacidade para um determinado período de tempo, essa exibição mostrará um núcleo lógico sendo utilizado.

Cores do gráfico de utilização da CPU

  • Verde indica a utilização dos núcleos lógicos no sistema pelo processo atual.

  • Cinza claro indica a utilização de núcleos lógicos por outros processos no sistema. Uma alta porcentagem de cinza claro no gráfico da CPU indica que o sistema está altamente carregado por outros processos e que seu processo provavelmente será preemptado por eles. Para reduzir o consumo de núcleos lógicos por outros processos, reduza o número deles em execução no sistema.

  • Cinza escuro indica o consumo de núcleos lógicos pelo processo do sistema. Você não pode controlar diretamente isso, mas é útil saber quando ele está ocorrendo, pois isso pode afetar a disponibilidade de núcleos lógicos para o processo.

  • Branco indica a disponibilidade de núcleos lógicos não utilizados no sistema. Esses núcleos estarão disponíveis para seu processo se você encontrar mais oportunidades de paralelismo.

Utilização média da CPU

Mostra a utilização média dos núcleos lógicos do sistema pelo processo perfilado durante sua execução. O grafo não mostra qual núcleo específico está ativo em um determinado momento. Por exemplo, se dois núcleos estiverem sendo executados a 50% da capacidade para um determinado período de tempo, esta visualização mostrará um núcleo lógico sendo utilizado.

Controle de zoom (exibição de utilização)

O controle de zoom ajuda você a ampliar o gráfico de utilização da CPU para se concentrar em áreas de interesse específico. Esse controle amplia o centro da exibição. Portanto, você deve centralizar a área de interesse antes de ampliar.

Você pode arrastar o ponteiro do mouse no gráfico de utilização da CPU ou no gráfico de atividades de GPU para criar uma área realçada. Quando o botão do mouse é liberado, a exibição amplia o intervalo selecionado.

Grafo de atividade de GPU

O gráfico de atividade da GPU no Visualizador de Concorrência exibe o nível de atividade do DirectX no sistema, conforme medido pelo número de motores DirectX que estão em uso ao longo do tempo. O grafo não mostra quais mecanismos específicos foram usados. Um motor é considerado em uso se estiver processando qualquer atividade de GPU.

Cores do gráfico de atividade de GPU

Verde indica o uso de motores DirectX pelo processo atual.

Cinza claro indica o consumo dos motores DirectX por outros processos no sistema. Para reduzir o consumo de mecanismos DirectX por outros processos, reduza o número de outros processos em execução no sistema.

Branco indica a disponibilidade de mecanismos DirectX não utilizados no sistema. Esses mecanismos estarão disponíveis para seu processo se você encontrar mais oportunidades para explorá-los. Alguns mecanismos só podem ser usados para tipos específicos de tarefas.

Atividade de GPU (paginação)

Os segmentos de Atividade de GPU (Paginação) na guia Threads representam momentos em que a GPU estava processando solicitações de paginação. O comprimento de um segmento representa a duração do tempo em que a GPU estava processando um pacote de paginação de acesso direto à memória (DMA). Normalmente, os pacotes de paginação são associados à transferência de memória entre a CPU e a GPU.

Quando você seleciona um segmento de paginação de GPU, o relatório na guia Atual exibe informações sobre o pacote DMA que foi processado. Isso inclui a quantidade de tempo que ele esperou na fila de hardware associada ao mecanismo DirectX, o processo que enviou o pacote DMA e o tempo necessário para processar o pacote.

Atividade de GPU (este processo)

Os segmentos de Atividade de GPU (Este Processo) na exibição Threads na Visualização simultânea representam momentos em que a GPU estava processando solicitações em nome do processo atual. Essas solicitações são enviadas para a GPU como pacotes de DMA (acesso direto à memória). O comprimento de um segmento representa o tempo em que a GPU estava processando um pacote DMA em nome do processo atual.

Quando você seleciona o segmento de atividade de GPU, o relatório na guia Atual exibe informações sobre o pacote DMA que foi processado. Essas informações incluem a quantidade de tempo que o pacote esperou na fila de hardware associada ao mecanismo DirectX, o processo que enviou o pacote e o tempo necessário para processar o pacote. Um processo diferente do processo atual pode ter enviado fisicamente o pacote DMA para a GPU. O Visualizador de Concorrência pode detectar quando outro processo enviou trabalho para a GPU em nome do processo atual.

Atividade de GPU (outros processos)

Os segmentos de Atividade de GPU (Outros Processos) na exibição Threads do Visualizador simultâneo representam momentos em que a GPU estava processando solicitações em nome de outros processos no sistema. Essas solicitações são enviadas à GPU como pacotes de DMA (acesso direto à memória). O comprimento de um segmento representa a duração do tempo em que o pacote foi processado pela GPU.

Quando você seleciona esse tipo de segmento, o relatório na guia Atual exibe informações sobre o pacote que foi processado. As informações incluem a quantidade de tempo que o pacote esperou na fila de hardware associada ao mecanismo DirectX, o processo que enviou o pacote e o tempo necessário para processar o pacote.