Você tem “OutOfMemoryException” recorrente em um Serviço Windows. O que fazer?

Este é o primeiro post de uma série onde pretendo compartilhar, com considerável nível de detalhe, como resolver problemas de alocação de memória em aplicações .NET.

Meu desejo é fazer algo bem interativo. Em todos os posts vou:

  • propor algumas questões,
  • debater respostas nos comentários,
  • apresentar conceitos técnicos relevantes.

O nível de dificuldade dos temas será incremental.

Para começar, vamos examinar o seguinte cenário:

Você foi contratado, por uma grande instituição financeira, para resolver o problema de um Serviço Windows, escrito em .NET (não por você), que está disparando OutOfMemoryException com frequência. Você não tem autorização para fazer um dump completo da memória. Entretanto, você tem acesso aos fontes, ao “Performance Monitor” e ao “Gerenciador de Tarefas” da máquina onde esse serviço está rodando. Qual seria sua primeira medida? Por quê?

Conto com sua participação nos comentários. Vamos tratar de alguns conceitos fundamentais e começar a responder essa questão no próximo post.

 

Compartilhe este insight:

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Elemar Júnior

Sou fundador e CEO da EximiaCo e atuo como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Mais insights para o seu negócio

Veja mais alguns estudos e reflexões que podem gerar alguns insights para o seu negócio:

I’ve been spending some time learning from the “Designing Data-Intensive Applications” book. I am reading it for the third time,...
Desenvolver software profissionalmente, em um ambiente onde a finalidade é lucro, implica em ampliar ganhos e/ou reduzir custos. O resultado...
Este exemplo é inspirado no livro do Ayende Se você deseja aprender RavenDB, recomendo que se inscreva no RavenDB bootcamp...
Há pouco mais de um ano, assumi o compromisso de ajudar, como CTO, a Guiando a escalar seu negócio e...
Implementar novas tecnologias implica na adoção de novos critérios e conhecimentos. Quando pensamos em bancos de dados, estamos tão habituados...
Neste post, compartilho um exemplo de implementação para um algoritmo extremamente famoso e importante: O algoritmo de Dijkstra. Trata-se de...