Ferramentas de Análise de memória do. NET [duplicado]
Estou à procura de ferramentas de análise de memória.net CLR.possÃvel duplicado:
Quais são os bons perfis da. NET?
a minha exigência principal é que ele vai jogar bem com IIS e aplicativos autônomos CLR. Idealmente, eu gostaria de ver quais objetos são alocados, onde eles são alocados e que tamanho eles são?
Alguém tem boas experiências com uma ferramenta em particular que gostaria de recomendar?9 answers
Estou actualmente a avaliar o perfil de memória Scitech. net 3.1 e o perfil de memória das formigas 5.1. Experimentei os JetBrains há um ano ou dois e não era tão bom como as formigas por isso não me incomodei desta vez. Ao ler os sites, parece que não é tão bom para a memória como os outros dois.
Tanto as formigas quanto o analista de memória Scitech têm caracterÃsticas que o outro não tem, então o que é melhor vai depender de suas preferências. Geralmente falando, o Scitech One fornece informações mais detalhadas, enquanto as formigas um é realmente incrÃvel em identificar o objeto vazando. No geral, eu prefiro as formigas um porque é tão rápido em identificar possÃveis vazamentos.
Aqui estão os principais prós e contras de cada um pela minha experiência:CaracterÃsticas comuns de formigas e Scitech. net perfil de memória
- elemento de análise em tempo Real
- Excelente como-para vÃdeos em seus sites
- fácil de utilizar
- razoavelmente performante (obviamente mais lento do que sem o profiler ligado, mas não tanto você se torna frustrado)
- mostra instâncias de fugas de objectos Basicamente ambos fazem o trabalho muito bem.
FORMIGAS
- filtros de um clique para encontrar fugas comuns incluindo: objectos mantidos vivos apenas por tratadores de eventos, objectos que são eliminados mas ainda vivos e objectos que só estão a ser mantidos vivos por uma referência de um objecto eliminado. Esta é provavelmente a caracterÃstica assassina de formigas-encontrar vazamentos é incrivelmente rápido por causa disso. Na minha experiência, a maioria das fugas são causadas por tratadores de eventos não sendo desengonçado e formigas apenas leva você Direto para esses objetos. Incrivel.
- gráfico de retenção de objectos. Enquanto a mesma informação está disponÃvel no Scitech, é muito mais fácil de interpretar em formigas.
- mostra o tamanho com as crianças para além do tamanho do próprio objecto (mas só quando uma instância é seleccionada infelizmente, não está na lista geral de classes). Melhor integração ao Visual Studio (clique com o botão direito no gráfico para saltar para o ficheiro)
Scitech. net Profiler de memória
- mostra o traço da pilha quando o objecto foi atribuÃdo. Este é realmente útil para objetos que são alocados em muitos lugares diferentes. Com formigas é difÃcil determinar exatamente onde o objeto vazado foi criado.
- mostra a contagem de objectos descartáveis que não eram eliminado. Embora não indicativo de uma fuga, ele identifica oportunidades para corrigir este problema e melhorar o desempenho da sua aplicação como resultado de uma coleta de lixo mais rápida.
- opções de filtragem mais detalhadas (várias colunas podem ser filtradas independentemente).
- apresenta informação sobre o total de objectos criados (incluindo o lixo recolhido). As formigas só mostram estatÃsticas de objectos ao vivo. Isto torna mais fácil analisar e sintonizar o desempenho global da aplicação (por exemplo. identificar onde lotes de objetos sendo criados desnecessariamente que não estão necessariamente vazando).
Em resumo, acho que as formigas ajudam a encontrar o que está vazando mais rápido enquanto a Scitech fornece um pouco mais de detalhes sobre o seu desempenho geral de memória de aplicação e objetos individuais, uma vez que você sabe o que olhar (por exemplo. stack trace on creation). Se a pilha de trace e rastreamento de objetos descartáveis não contestados foi adicionado a formigas eu não veria a necessidade de usar qualquer outra coisa.
Estranho queclr Profiler ainda não é mencionado aqui. É grátis e funciona bem.
Cuidado com as múltiplas versões antigas disponÃveis no próprio site da Microsoft. A partir de Novembro de 2011, a última versão parece ser esta: última versão (ligação alternativa)
Grande fã de desenhador de JetBrains EU
O perfil de memória da NET é um poderoso ferramenta para encontrar fugas de memória e optimizar a utilização da memória em programas escritos em C#, VB.NET ou qualquer outra lÃngua. net.
Eu segundoAs formigas traçam perfis .
Além de mostrar tudo o que precisa, irá desenhar um gráfico simples onde poderá ver o que leva mais tempo a ser executado, e o que come a memória. Quando você clicar em graphp ele irá mostrar-lhe a linha correspondente em seu código.
E eu gosto de barras de progresso lentas afogadas em linhas de código que levam muito tempo a ser executadas.Estou a usar o perfil das formigas. É uma ferramenta muito boa com muitas opções de detalhamento de perfis e joga bem com aplicativos autônomos, servidor de desenvolvimento e IIS.