Intellij Idea - Criação de Perfil

O Profiler oferece insights sobre seu aplicativo, como CPU, memória e uso de heap. Ele também fornece detalhes sobre os threads do aplicativo. Este capítulo discute o uso da ferramenta VisualVM para criar perfis de aplicativos Java. Ele pode criar o perfil de entidades como CPU e heap.

Recomenda-se que os leitores deste tutorial estejam familiarizados com os conceitos do criador de perfil de aplicativo.

Introdução

VisualVM é uma ferramenta visual que integra ferramentas JDK e oferece recursos poderosos de criação de perfil. Ele permite que você gere e analise dados de heap, rastreie vazamentos de memória, monitore o coletor de lixo e execute perfis de memória e CPU.

Benefícios

  • Interface visual para aplicativos Java locais e remotos em execução na JVM.

  • Monitoramento do uso de memória do aplicativo e comportamento do tempo de execução do aplicativo.

  • Monitoramento de threads de aplicativo

  • Analisando as alocações de memória para diferentes aplicativos.

  • Despejos de thread - muito úteis em caso de impasses e condições de corrida.

  • Heap dumps - muito úteis na análise da alocação de memória heap.

Configuração

Nesta seção, aprenderemos as etapas executadas para configurar o VisualVM. As etapas são as seguintes -

  • Baixe aqui .

  • Extraia o arquivo zip.

  • Navegue até o arquivo etc / visualvm.conf e adicione a seguinte linha neste arquivo -

visualvm_jdkhome=<path of JDK>
  • Se o seu JDK estiver instalado no C:\Program Files\Java\jdk-9.0.1 diretório então deve ser parecido com este -

visualvm_jdkhome="C:\Program Files\Java\jdk-9.0.1"

Aplicativo de monitoramento

Vamos agora ver como monitorar o aplicativo. Considere as seguintes etapas para entender o mesmo -

  • Clique duas vezes no arquivo visualvm.exe.
  • Selecione o aplicativo no painel esquerdo.
  • Selecione a guia do monitor.

Você será direcionado para uma janela onde obterá os detalhes sobre CPU, Heap, Classes e threads. Para ser específico com o uso, passe o mouse sobre qualquer gráfico. Podemos ver o uso de Heap na imagem acima.

Insights sobre tópicos

O aplicativo Java pode conter vários threads de execução. Para saber mais sobre threads, selecione a guia Threads de um aplicativo específico. Ele fornecerá várias estatísticas sobre threads como o número de threads ativas e threads daemon. Os diferentes estados de thread são Running, Sleeping, Waiting, Park and Monitor.

Aplicação de Amostragem

VisualVM suporta CPU, amostragem de memória e detecção de vazamento de memória. Para amostra de aplicativo, selecione o aplicativo e escolha a guia de amostra -

Amostragem de CPU

Para amostragem de CPU, clique no botão CPU como mostrado na imagem a seguir -

Perfil de memória

Para o perfil de memória, clique no botão Memória, conforme mostrado na imagem a seguir -

Perda de memória

Um vazamento de memória ocorre quando um aplicativo, durante a execução, preenche lentamente o heap com objetos que não são excluídos automaticamente pelo programa.

Se um objeto que não é usado pelo programa não for excluído, ele permanecerá na memória e o GC não poderá recuperar seu espaço. Se o número de bytes e o número de instâncias em seu aplicativo aumentassem constante e significativamente em seu programa a ponto de usar todo o espaço, isso pode ser uma indicação de um vazamento de memória.

Aplicativo de criação de perfil

Nesta seção, aprenderemos como criar o perfil de um aplicativo. Para criar o perfil de um aplicativo, selecione o aplicativo no painel esquerdo e clique na guia do perfil -

Perfil de CPU

Para executar o perfil da CPU, clique no botão CPU conforme mostrado na imagem abaixo -

Perfil de memória

Para executar o perfil da CPU, clique no botão CPU conforme mostrado na imagem abaixo -